FR 3070515 A1 20190301 FR 1757887 A 20170825 Domaine de l'invention Le présent exposé concerne la détermination d'une trajectoire d'un objet mobile. Par « trajectoire », on entend l'ensemble des positions de l'objet mobile sur une plage de temps déterminée. L'objet mobile peut être un piéton, ou bien un objet tel qu'un véhicule automobile, une bicyclette, ou encore un drone. Arrière-plan de l'invention Diverses méthodes ont été proposées jusqu'ici pour déterminer la trajectoire d'un objet mobile. Une première famille de méthodes consiste à établir à l'avance une base de données géo-localisée de signaux radio puis, en phase de fonctionnement, à interroger cette base de données. Les signaux radio peuvent comprendre des signaux WiFi (méthodes dites « WiFi Fingerprinting » en anglais) et/ou d'autres signaux radio pertinents (méthodes dites « Signal of Opportunity Fingerprinting » en anglais). Une deuxième famille de méthodes consiste à fusionner des mesures issues de divers capteurs, notamment d'un récepteur satellitaire et/ou d'une centrale inertielle comprenant un accéléromètre et un gyromètre, avec des signaux externes reçus de systèmes dédiés déployés à l'avance, tels que des systèmes de type iBeaconTM, RFID ou encore UWB (« Ultra- WideBand » en anglais). Ces deux familles de méthodes présentent l'inconvénient de dépendre, en partie ou complètement, d'une infrastructure spécifique déployée à l'avance. Loin de cette infrastructure spécifique, la détermination de la trajectoire présente une erreur importante. Au sens du présent exposé, l'« erreur » désigne le rapport entre l'erreur en position commise en fin de parcours et la longueur totale du parcours. Plus précisément, l'erreur est définie comme le quotient de l'écart en position entre la trajectoire déterminée et la trajectoire réellement parcourue, l'écart étant évalué au bout d'une distance de parcours définie à l'avance, et de la distance réellement parcourue. Autrement dit : erreur (%) = distance parcourue (m) 1 écart en position (m) 2 Une troisième famille de méthodes comprend, afin de diminuer l'erreur, le fait de détecter, à l'aide d'une centrale inertielle comprenant un accéléromètre et un gyromètre, certaines phases particulières du mouvement de marche d'un piéton, par exemple des phases où le pied est 5 à plat au sol et où la vitesse ou l'accélération mesurées sont nulles (méthodes dites ZUPT pour « Zero velocity UpdaTe » et ZARU pour « Zero AcceleRation Update » en anglais). Un exemple de méthode ZUPT est présenté dans l'article « A New Zero Velocity Update Algorithm for the Shoe-Mounted Personal Navigation System based on IMU », Z. Xiao-dong 10 et al., 34th Chinese Control Conference, 2015. Cependant, ces méthodes sont spécifiques à une unité de capteurs portée au niveau du pied et ne sont pas généralisables à d'autres objets mobiles qu'un piéton. En outre, toutes les méthodes évoquées ci-dessus présentent une 15 erreur importante dans le cas où l'objet mobile se déplace à l'intérieur d'un bâtiment (utilisation dite « indoors » en anglais). En effet, à l'intérieur d'un bâtiment, les mesures issues de magnétomètres et de récepteurs satellitaires sont fortement dégradées, notamment à cause d'interférences électromagnétiques. 20 Il existe donc un besoin d'un procédé et d'un dispositif capables de déterminer la trajectoire d'un objet mobile avec une erreur faible, même lorsque l'objet mobile se déplace à l'intérieur d'un bâtiment, et sans recourir à aucune infrastructure spécifique déployée à l'avance ou mesure effectuée à l'avance. 25 Objet et résumé de l'invention Le présent exposé vise à répondre au moins partiellement à ce besoin. 30 Ce but est atteint grâce à un procédé de détermination d'une trajectoire d'un objet mobile, comprenant : l'acquisition d'un vecteur accélération de l'objet mobile, l'acquisition d'un vecteur vitesse angulaire de l'objet mobile, l'acquisition d'un vecteur champ magnétique local au niveau de l'objet mobile, et 35 l'acquisition d'une phase d'un signal émis par un système mondial de navigation par satellite ; et une étape de détermination d'un état de position de l'objet mobile à l'aide d'un filtre de Kalman étendu, l'état du filtre de Kalman étendu comprenant l'état de position et un vecteur vitesse instantanée de 3 l'objet mobile et un décalage entre l'horloge du récepteur satellitaire recevant ledit signal et le temps du système mondial de navigation par satellite, ladite étape de détermination comprenant une étape 5 d'estimation d'un état du filtre de Kalman étendu et, lorsqu'une mesure de l'un au moins parmi ledit vecteur accélération, ledit vecteur vitesse angulaire, ledit vecteur champ magnétique local au niveau de l'objet mobile, et ladite phase est disponible, une étape de correction au cours de laquelle l'état estimé du filtre de Kalman étendu est corrigé en fonction 10 d'au moins une desdites mesures disponibles, dans lequel l'état du filtre de Kalman étendu comprend un vecteur vitesse moyenne de l'objet mobile, ledit vecteur vitesse moyenne étant une moyenne des vecteurs vitesse instantanée de au moins N états précédents du filtre de Kalman étendu, où : 15 N = f imu f GNSS1 où fimu désigne la fréquence de la mesure dudit vecteur vitesse angulaire, et fcNss désigne la fréquence de la mesure de ladite phase, et durant l'étape de correction, lorsqu'une mesure de ladite phase et une mesure précédente de ladite phase sont disponibles, ladite mesure 20 précédente correspondant à l'un desdits au moins N états précédents du filtre de Kalman étendu, et la mesure de ladite phase et ladite mesure précédente concernant le signal émis par un même satellite du système mondial de navigation par satellite, l'état estimé du filtre de Kalman étendu est corrigé en fonction de la différence entre ladite mesure et 25 ladite mesure précédente. Un filtre de Kalman est une méthode de calcul susceptible d'être mise en oeuvre par ordinateur et permettant d'estimer les états d'un système dynamique à partir d'une série de données d'entrée incomplètes ou bruitées. Le filtre de Kalman est modélisé par une équation d'état (1), 30 et une équation de mesure (2). Ces équations sont du type : IXk = Fk-1,kXk-1+ Wk-1 (1) Yk = HkXk ± lik (2) où k est l'instant courant, k-1 l'instant précédent, X l'état (intrinsèque) du système, Fk_i,k la fonction de transition entre les instants k et k-1, y la grandeur observée (mesurée), H la fonction de mesure, w le bruit du modèle, et rl le bruit de mesure. Les variables X, y, w et ri 35 peuvent être des vecteurs à une ou plusieurs composantes. Les variables H et F peuvent être des matrices. 4 L'équation d'état (1), aussi appelée équation d'évolution, traduit l'évolution du système dynamique. L'équation de mesure (2), aussi appelée équation d'observation, traduit la relation entre les grandeurs observables mesurées et l'état intrinsèque du système. 5 La mise en oeuvre du filtre de Kalman comprend une étape d'estimation d'une valeur de l'état suivant (k+i) à partir de l'état courant (k), et une étape de correction de la valeur obtenue à partir de la mesure yk. Ces étapes sont largement détaillées dans la littérature (par exemple dans l'ouvrage Kalman Filtering: Theoty and Practice Using MATL4B, 10 Mohinder S. Grewal, Angus P. Andrews, 2' edition, John Wiley & Sons, 2001) et ne sont donc pas réexpliquées ici dans le cas général. Un filtre de Kalman étendu (« Extended Kalman Filter » en anglais, ci-après désigné par « EKF ») est une variante du filtre de Kalman qui est utilisée pour des systèmes non-linéaires. Pour de tels systèmes, les 15 équations permettant de modéliser le problème ne sont pas linéaires ; mais si la fonction de transition et la fonction de mesure sont dérivables, il est possible de linéariser localement ces fonctions autour de l'état précédent. Les matrices Fk_i,k et H sont ainsi remplacées par leurs jacobiennes. Ceci est largement détaillé dans la littérature (par exemple 20 dans l'ouvrage Kalman Filtering: Theory and Practice Using MATLAB mentionné ci-dessus) et n'est donc pas réexpliqué ici en détail. Pour mettre en oeuvre un EKF dans un procédé selon le présent exposé, le vecteur d'état (qui dans la suite pourra être simplement appelé « l'état ») de l'EKF comprend un état de position de l'objet mobile. 25 Au sens du présent exposé, « état de position » désigne un vecteur comprenant au moins un parmi un vecteur position de l'objet mobile, un vecteur vitesse instantanée et un vecteur accélération de l'objet mobile. L'état de position permet ainsi de décrire physiquement la position de l'objet mobile et/ou l'évolution de cette position au cours du temps. 30 Le vecteur position, le vecteur vitesse instantanée et le vecteur accélération peuvent être des vecteurs à trois ou à deux composantes. Des vecteurs à trois composantes permettent de décrire le déplacement de l'objet mobile dans l'espace, donc dans le cas le plus général. Des vecteurs à deux composantes permettent de décrire le déplacement de 35 l'objet mobile dans un plan. Ceci peut être suffisant si l'objet mobile est destiné à ne se déplacer que dans un espace plan délimité, comme par exemple le sol d'un entrepôt. 5 Les vecteurs de l'état de position peuvent être exprimés dans tout repère (cartésien, cylindrique, polaire, etc.), de préférence dans un repère cartésien. Le repère est de préférence fixe par rapport à la Terre. Plus généralement, tous les éléments de l'état de l'EKF sont de 5 préférence exprimés dans un repère cartésien, qui de préférence est fixe par rapport à la Terre. Dans certains modes de réalisation, l'état de position comprend un vecteur position de l'objet mobile. L'étape d'estimation consiste en une détermination initiale, 10 éventuellement provisoire, de l'état de l'EKF. Elle peut être réalisée par mesure, par calcul (notamment grâce à l'équation (1) d'état de l'EKF) ou par combinaison des deux. L'état de position estimé est ensuite soumis à l'étape de correction. Comme indiqué précédemment, l'étape de correction fait appel aux 15 résultats de l'étee d'acquisition. L'étape d'acquisition ne suppose pas qu'une mesure soit disponible en permanence : elle consiste à vérifier si une mesure est disponible et, si c'est le cas, à l'acquérir. Si la mesure n'est pas disponible à un instant, l'étape d'acquisition ne renvoie aucune donnée à l'étape de correction et, par conséquent, l'état de l'EKF estimé à 20 cet instant n'est pas corrigé. L'étape d'acquisition, l'étape d'estimation et de correction sont effectuées de manière répétée, de manière à obtenir une succession d'états de l'EKF. Chaque répétition correspond à une itération de l'EKF. La trajectoire de l'objet mobile est obtenue en extrayant l'état de position de 25 chacun des états de l'EKF. Dans le procédé selon le présent exposé, l'état de l'EKF comprend un décalage entre l'horloge du récepteur satellitaire recevant ledit signal et le temps du système mondial de navigation par satellite, un vecteur vitesse instantanée et un vecteur vitesse moyenne obtenu en effectuant une 30 moyenne des vecteurs vitesse instantanée de au moins N = -flmu états fGNSS précédents du filtre de Kalman étendu. En effet, les vecteurs vitesse instantanée sont estimés à partir de mesures effectuées à des fréquences différentes : de manière générale, les mesures issues du système mondial de navigation par satellite sont 35 disponibles à une fréquence (typiquement de l'ordre de 5 Hz) beaucoup plus faible que les mesures d'accélération, de vitesse angulaire et de champ magnétique local (typiquement de l'ordre de 150 Hz). En prenant en compte le vecteur vitesse moyenne, on tend donc avantageusement à 6 réduire l'erreur commise en effectuant une estimation à partir de ces mesures obtenues à des fréquences différentes. En outre, en prenant en compte le vecteur vitesse moyenne, on tend avantageusement à réduire aussi l'erreur liée au positionnement des 5 capteurs par rapport à l'objet mobile. En outre, puisque les mesures issues du système mondial de navigation par satellite sont disponibles plusieurs fois par seconde, les mesures de phase prises en compte lors de l'étape de correction sont séparées de moins d'une seconde, voire de quelques dixièmes de seconde 10 seulement. Sur un intervalle de temps aussi faible, la position du récepteur satellitaire peut être considérée comme quasiment constante. Les perturbations qui, lors d'une utilisation dite « indoors », dégradent fortement les mesures du récepteur satellitaire, s'éliminent donc quasiment entre elles lors du calcul de la différence entre ces mesures de 15 phase. Puisqu'en outre ces mesures de phase concernent le signal émis par un même satellite, la différence entre ces mesures de phase apporte une information sur le vecteur vitesse moyenne. Puisque l'état de l'EKF comprend le vecteur vitesse moyenne, celui-ci permet d'affiner l'estimation de la trajectoire de l'objet mobile. 20 Ainsi, le procédé selon le présent exposé permet d'utiliser les données GNSS, même fortement dégradées comme lors d'une utilisation dite « indoors », pour affiner l'estimation de la trajectoire. Les inventeurs ont en effet constaté que, de cette manière, l'erreur est significativement plus faible qu'avec les procédés de l'art antérieur, comme cela sera 25 détaillé plus loin, et ce en particulier lors d'une utilisation dite « indoors ». Le procédé selon le présent exposé fournit donc une estimation très précise de trajectoire en toutes conditions, même lorsque l'objet mobile se déplace à l'intérieur d'un bâtiment, et ce sans recourir à aucune infrastructure spécifique déployée à l'avance ou mesure effectuée à 30 l'avance. Dans certains modes de réalisation, ladite moyenne est une moyenne arithmétique non pondérée. Cette moyenne présente l'avantage d'être aisée à calculer. Dans certains modes de réalisation, le vecteur vitesse moyenne est 35 une moyenne des vecteurs vitesses instantanée de exactement N états précédents du filtre de Kalman étendu. On notera que dans ce cas, la condition ci-dessus relative à la phase du signal est équivalente à la condition que deux mesures consécutives de la phase du signal émis par un même satellite du GNSS soient disponibles. 7 Dans certains modes de réalisation, durant l'étape de correction, lorsque la norme du vecteur accélération mesuré est sensiblement égale à la norme de l'accélération de la pesanteur et sensiblement constante, l'état estimé de l'EKF est corrigé en fixant à zéro le vecteur vitesse 5 instantanée. L'étape de correction tire ainsi parti des séquences où l'objet mobile est quasiment à l'arrêt pour affiner l'estimation de la trajectoire. Cela est particulièrement utile lorsque les capteurs sont installés dans un dispositif fixé au pied d'un piéton. 10 Dans certains modes de réalisation, l'état de l'EKF comprend un biais de l'accéléromètre effectuant ladite mesure du vecteur accélération. Le biais de l'accéléromètre peut ainsi être estimé en plus de l'état de position de l'objet mobile. Ceci permet de tenir compte de la dérive éventuelle de l'accéléromètre. L'estimation de la trajectoire est alors plus 15 précise. En outre, lorsque la correction mentionnée ci-dessus est mise en oeuvre, elle tire avantage des séquences où l'objet mobile est à l'arrêt pour estimer la dérive éventuelle de l'accéléromètre. Dans certains modes de réalisation, l'état de l'EKF comprend un vecteur d'attitude. 20 Au sens du présent exposé, « vecteur d'attitude » désigne un vecteur comprenant au moins un angle décrivant la rotation de l'objet mobile et/ou au moins une dérivée par rapport au temps de cet angle. Le vecteur d'attitude permet ainsi de décrire physiquement l'orientation de l'objet mobile dans le plan ou l'espace en fonction du temps. Le vecteur 25 d'attitude peut être un vecteur à trois composante (lorsque le vecteur position, le vecteur vitesse instantanée et le vecteur accélération sont des vecteurs à trois composantes) ou à une seule composante (lorsque le vecteur position, le vecteur vitesse instantanée et le vecteur accélération sont des vecteurs à deux composantes). 30 L'estimation de la trajectoire est alors plus précise, car tenant compte de la rotation de l'objet mobile et non seulement de son mouvement en translation. Dans certains modes de réalisation, l'état de l'EKF comprend un biais du vecteur d'attitude. 35 Dans certains modes de réalisation, durant l'étape de correction, lorsque la norme du vecteur accélération mesuré est égale à la norme de l'accélération de la pesanteur et sensiblement constante, l'état estimé de l'EKF est corrigé en fonction du vecteur accélération mesuré ou du vecteur vitesse angulaire mesuré. 8 L'étape de correction tire ainsi parti des séquences où la trajectoire de l'objet mobile est quasiment une translation pour affiner l'estimation de la trajectoire et de l'attitude de l'objet mobile. Dans certains modes de réalisation, l'état de l'EKF comprend un biais 5 du gyromètre effectuant la mesure du vecteur vitesse angulaire. Le biais du gyromètre peut ainsi être estimé en plus de l'état de position de l'objet mobile. Ceci permet de tenir compte de la dérive éventuelle du gyromètre. L'estimation de la trajectoire est alors plus précise. En outre, lorsque la correction mentionnée ci-dessus est mise en 10 oeuvre, elle tire avantage des séquences où la vitesse de l'objet mobile pour estimer la dérive éventuelle du gyromètre. Dans certains modes de réalisation, le vecteur d'attitude et/ou le vecteur vitesse angulaire mesuré est exprimé sous la forme d'un quaternion. 15 Cette expression permet de s'affranchir de nombreuses contraintes liées à l'utilisation des angles d'Euler, et allège considérablement les calculs ; en particulier, les erreurs d'origine numérique sont diminuées. Dans certains modes de réalisation, le biais du gyromètre est également exprimé sous la forme d'un quaternion, avec les mêmes 20 avantages. Dans certains modes de réalisation, durant l'étape de correction, lorsque la norme du vecteur champ magnétique local mesuré est sensiblement constante et un angle entre ledit vecteur champ magnétique local mesuré et l'accélération de la pesanteur est sensiblement égal à un 25 angle entre ladite accélération de la pesanteur et le vecteur champ magnétique terrestre, l'état estimé de l'EKF est corrigé en fonction du vecteur champ magnétique local mesuré et/ou du vecteur vitesse angulaire mesuré. L'étape de correction tire ainsi parti des séquences où l'attitude de 30 l'objet mobile par rapport au champ magnétique terrestre est quasiment constante pour affiner l'estimation de la trajectoire et de l'attitude de l'objet mobile. Dans le présent exposé, « A est corrigé en fonction de B » n'exclut pas que d'autres grandeurs que B puissent être utilisées pour corriger A. 35 Dans le présent exposé, «A est sensiblement égal à B » signifie que A est égal à B plus ou moins une certaine marge déterminée à l'avance. Cette marge peut notamment tenir compte du bruit du capteur utilisé pour mesurer B et/ou inclure une certaine tolérance. La marge peut être fixée arbitrairement à l'avance, ou bien être calibrée lors d'essais préalables. 9 Sans vouloir limiter la portée du présent exposé, la marge peut être, par exemple, de 5%, 10% ou 20%. Dans le présent exposé, « A est sensiblement constant » signifie que les différentes valeurs que prend A au cours du temps sont sensiblement 5 égales entre elles. Ces différentes valeurs peuvent être acquises sur une fenêtre glissante. La durée de la fenêtre glissante peut être fixée arbitrairement à l'avance, ou bien être calibrée lors d'essais préalables. Sans vouloir limiter la portée du présent exposé, la durée de la fenêtre glissante peut être de 0,1 s, 0,2 s ou 0,5 s. 10 Dans certains modes de réalisation, le procédé comprend en outre la mesure d'une deuxième phase d'un deuxième signal émis par un deuxième système mondial de navigation par satellite. L'estimation de la trajectoire peut ainsi tenir compte de davantage de données satellites, ce qui améliore encore la précision. 15 Dans certains modes de réalisation, l'état de l'EKF comprend un décalage entre l'horloge du récepteur satellitaire et le temps du deuxième système mondial de navigation par satellite, et durant l'étape de correction, lorsqu'une mesure de ladite deuxième phase et une deuxième mesure précédente de ladite deuxième phase sont disponibles, ladite 20 deuxième mesure précédente correspondant à l'un desdits au moins N états précédents du filtre de Kalman étendu, et la mesure de ladite deuxième phase et ladite deuxième mesure précédente concernant le signal émis par un même satellite du deuxième système mondial de navigation par satellite, l'état estimé du filtre de Kalman étendu est corrigé 25 en fonction de la différence entre ladite mesure de la deuxième phase et ladite deuxième mesure précédente. L'étape de correction tire ainsi parti des séquences où des données satellites de l'un ou l'autre des systèmes mondiaux de navigation par satellite sont disponibles en continu, ce qui améliore encore la précision. 30 Le présent exposé concerne également un programme comportant des instructions pour l'exécution du procédé de détermination décrit ci-dessus lorsque ledit programme est exécuté par un ordinateur. Dans un mode particulier de réalisation, les différentes étapes du procédé de détermination sont définies par des instructions de programme 35 d'ordinateur. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une 10 forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. Le présent exposé concerne également un support d'enregistrement lisible par ordinateur sur lequel est enregistré un programme d'ordinateur 5 comportant des instructions pour l'exécution du procédé de détermination décrit ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD 10 ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (« floppy disk » en anglais) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être 15 acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Le présent exposé concerne également un dispositif de détermination d'une trajectoire d'un objet mobile, le dispositif comprenant 20 : un accéléromètre configuré pour mesurer un vecteur vitesse accélération ; un gyromètre configuré pour mesurer un vecteur vitesse angulaire ; 25 un magnétomètre configuré pour mesurer un vecteur champ magnétique local ; un récepteur satellitaire configuré pour mesurer une phase d'un signal émis par un système mondial de navigation par satellite ; et une unité de calcul configurée pour mettre en oeuvre une 30 détermination d'un état de position de l'objet mobile à l'aide d'un filtre de Kalman étendu, l'état du filtre de Kalman étendu comprenant l'état de position et un vecteur vitesse instantanée de l'objet mobile et un décalage entre l'horloge du récepteur satellitaire et le temps du système mondial de navigation par satellite, 35 ladite détermination comprenant une étape d'estimation d'un état du filtre de Kalman étendu et, lorsqu'une mesure de l'un au moins parmi ledit vecteur accélération, ledit vecteur vitesse angulaire, ledit vecteur champ magnétique local au niveau de l'objet mobile, et ladite phase est disponible, une étape de correction au cours de laquelle l'état 11 estimé du filtre de Kalman étendu est corrigé en fonction d'au moins une desdites mesures disponibles, dans lequel l'état du filtre de Kalman étendu comprend un vecteur vitesse moyenne de l'objet mobile, ledit vecteur vitesse moyenne 5 étant une moyenne des vecteurs vitesse instantanée de au moins N états précédents du filtre de Kalman étendu, où : N . fimu fcivssi où fimu désigne la fréquence de la mesure dudit vecteur vitesse angulaire, et fcivss désigne la fréquence de la mesure de ladite phase, et 10 durant l'étape de correction, lorsqu'une mesure de ladite phase et une mesure précédente de ladite phase sont disponibles, ladite mesure précédente correspondant à l'un desdits au moins N états précédents du filtre de Kalman étendu, et la mesure de ladite phase et ladite mesure précédente concernant le signal émis par un même satellite du système 15 mondial de navigation par satellite, l'état estimé du filtre de Kalman étendu est corrigé en fonction de la différence entre ladite mesure et ladite mesure précédente. Dans certains modes de réalisation, ladite moyenne est une moyenne arithmétique non pondérée. 20 Dans certains modes de réalisation, le vecteur vitesse moyenne est une moyenne des vecteurs vitesses instantanée de exactement N états précédents du filtre de Kalman étendu. Le programme, le support d'enregistrement et le dispositif décrits ci-dessus procurent les mêmes avantages que le procédé de détermination. 25 Brève description des dessins Le présent exposé sera bien compris et les avantages évoqués ci-dessus apparaîtront mieux, à la lecture de la description détaillée qui suit 30 de plusieurs modes de réalisations, représentés à titre d'exemples non limitatifs. La description se réfère aux dessins annexés sur lesquels : - la figure 1 est un schéma fonctionnel d'un dispositif de détermination d'une trajectoire d'un objet mobile ; - la figure 2 illustre les repères de navigation utilisés dans un 35 procédé de détermination d'une trajectoire d'un objet mobile ; - la figure 3A est une comparaison entre une trajectoire déterminée lors d'une première expérience avec la trajectoire de référence de la première expérience, et la figure 3B est une version simplifiée de la figure 3A afin de mieux visualiser les deux trajectoires ; 12 - la figure 4A est une comparaison entre une trajectoire déterminée lors d'une deuxième expérience avec la trajectoire de référence de la deuxième expérience, et la figure 4B est une version simplifiée de la figure 4A afin de mieux visualiser les deux trajectoires. 5 Sur les figures 3B et 4B, la trajectoire déterminée est représentée en pointillés, et la trajectoire de référence est représentée en gras. Description détaillée de l'invention 10 Dispositif de détermination La figure 1 présente un schéma fonctionnel d'un dispositif de détermination d'une trajectoire d'un objet mobile (ci-après « le dispositif ») 10. 15 Le dispositif 10 peut être prévu pour être fixé à l'objet mobile, par exemple par l'intermédiaire d'un support (non représenté). Dans un exemple, l'objet mobile est un piéton : le dispositif 10 peut alors être fixé, par exemple, à un pied du piéton. Dans un autre exemple, l'objet mobile est un véhicule automobile : le dispositif 10 peut alors être 20 fixé, par exemple, au pare-brise du véhicule automobile. Il est toutefois précisé que le présent exposé ne se limite pas à ces exemples, ce qui va suivre pouvant être appliqué à n'importe quel objet mobile. Le dispositif 10 comprend une unité de calcul. L'unité de calcul comprend notamment une carte mère 20 et une mémoire 31. La carte 25 mère 20 comprend notamment, comme cela est bien connu, un processeur (CPU pour « Central Processing Unit » en anglais) et une mémoire vive (RAM pour « Random Access Memory » en anglais). La mémoire 31 est configurée pour stocker un ou plusieurs programmes et/ou des résultats de calculs effectués par le processeur. La mémoire 31 30 peut être, par exemple, une mémoire flash. L'unité de calcul est configurée pour mettre en oeuvre une estimation d'un état de position de l'objet mobile à l'aide d'un EKF comme cela sera détaillé plus loin. Le dispositif 10 comprend une centrale inertielle 32 (IMU pour 35 « Inertial Measurement Unit » en anglais) comprenant un accéléromètre 33 et un gyromètre 34. L'accéléromètre 33 est configuré pour mesurer un vecteur accélération. Le vecteur accélération est en général un vecteur à trois composantes. 13 Le gyromètre 34 est configuré pour mesurer un vecteur vitesse angulaire. Le vecteur vitesse angulaire est en général un vecteur à trois composantes, qui peut être exprimé sous la forme d'un quaternion afin de faciliter les calculs ultérieurs. 5 Le dispositif 10 comprend un magnétomètre 35. Le magnétomètre 35 est configuré pour mesurer un vecteur champ magnétique local. Le vecteur champ magnétique local est en général un vecteur à trois composantes. Le dispositif 10 comprend un récepteur satellitaire (ci-après 10 « récepteur GNSS ») 36. « GNSS » est un acronyme anglais signifiant « Global Navigation Satellite System », c'est-à-dire système mondial de navigation par satellite. Le terme « GNSS » englobe ainsi tous les systèmes de positionnement par satellite qui permettent à un utilisateur de connaître sa 15 position, sa vitesse et l'heure à l'aide d'un récepteur recevant un signal radio émis par des satellites, et notamment les systèmes GPS (Global Positioning System), GLONASS et Galileo. Le récepteur GNSS 36 est ainsi configuré pour recevoir et traiter un signal 56 émis par un premier GNSS, et fournir en sortie une ou plusieurs 20 grandeurs représentatives du signal 56. Notamment, le récepteur GNSS 36 est configuré pour mesurer et fournir en sortie une phase du signal 56. En effet, comme cela est bien connu, les GNSS émettent un ou plusieurs signaux sous forme d'une onde électromagnétique sinusoïdale de fréquence fixe et connue. La phase du 25 signal 56 reçu par le récepteur GNSS 36 peut donc apporter une information sur la vitesse du récepteur comme cela sera détaillé plus loin. Dans certains modes de réalisation, le récepteur GNSS 36 est configuré pour recevoir et traiter des signaux émis par plusieurs GNSS. Dans ce cas, le récepteur GNSS est configuré pour mesurer et fournir en 30 sortie une phase d'un signal 56' émis par un deuxième GNSS distinct du premier GNSS. Dans un exemple, le premier GNSS est le système GPS et le deuxième GNSS est le système GLONASS. Le dispositif peut comprendre une unité de transmission 40 35 configurée pour transmettre des données à un système extérieur. L'unité de transmission 40 peut comprendre une carte Ethernet, un connecteur USB, une carte WiFi, ou une combinaison de ces éléments. Le dispositif 10 comprend une alimentation électrique 21 pour alimenter en électricité les composants décrits ci-dessus. L'alimentation 14 électrique 21 peut comprendre une batterie et/ou un connecteur configuré pour être raccordé à une source extérieure d'électricité (non représentée). Repères On va maintenant décrire à l'aide de la figure 2 les repères dans 5 lesquels les mesures effectuées par le dispositif 10, qui sont pour la plupart exprimées sous la forme de vecteurs à plusieurs composantes, sont exprimées. Un premier repère RN (parfois appelé « repère de navigation ») est un repère cartésien fixe par rapport à la Terre. Une origine ON étant 10 choisie à la surface de la Terre, on considère le plan NE qui est tangent à la surface de la Terre et contient l'origine ON. Dans le plan NE, on choisit l'axe N (dirigé vers le Nord géographique) et l'axe E (dirigé vers l'Est) comme les deux premiers axes du repère RN. Le troisième axe D est orienté selon la verticale de l'origine ON et vers le bas, de sorte que le 15 trièdre NED soit orthogonal et direct. Le repère RN est donc de type « North East Down ». Un deuxième repère RB est un repère cartésien fixé au dispositif 10. Il est donc mobile dans le repère RN. Les axes X, Y, Z du repère RB sont choisis de telle sorte que le repère RB soit orthonormé et direct. 20 Dans la suite, les valeurs exprimées dans le repère RN seront notées sous la forme Yn, et les valeurs exprimées dans le repère RB seront notées sous la forme Yb. La matrice de passage du repère RB vers le repère RN est notée cg. Un troisième repère (non représenté pour ne pas compliquer la 25 figure 2), dit repère ECEF (pour « Earth Centered Earth Fixed » en anglais), est un repère cartésien fixe par rapport à la Terre. L'origine du repère ECEF correspond au centre des masses de la Terre. L'axe Z du repère est orienté vers le pôle Nord et l'axe X pointe en direction du méridien de Greenwich, dans le plan de l'équateur. L'axe Y est placé de 30 sorte que le trièdre XYZ est orthogonal et direct. Le repère ECEF est en général utilisé pour les données GNSS. Dans la suite, les valeurs exprimées dans le repère ECEF seront notées sous la forme Yecef. La matrice de passage du repère ECEF vers le repère RN est notée 35 Fonctionnement du dispositif de détermination On va maintenant détailler le fonctionnement du dispositif 10. L'accéléromètre 33 et le gyromètre 34 mesurent respectivement un vecteur accélération et un vecteur vitesse angulaire du dispositif 10, à une 15 fréquence fixe fimu. Cette fréquence est typiquement élevée, de l'ordre de 100 Hz, et par exemple égale à 160 Hz. Le magnétomètre 35 mesure un vecteur champ magnétique local au niveau du dispositif 10, à une fréquence fixe. Cette fréquence est 5 typiquement élevée et de préférence égale à fimu afin de faciliter la mise en oeuvre de l'estimation de l'état de position. Le récepteur GNSS 36 reçoit et traite le signal 56 (et éventuellement le signal 56'). Comme évoqué ci-dessus, ces signaux peuvent ne pas être toujours reçus, notamment en intérieur. En outre, la fréquence temporelle 10 d'émission est comparativement basse. En conséquence, le récepteur GNSS mesure la phase du signal 56 (et éventuellement du signal 56') à une fréquence fixe fGNss. Cette fréquence est plus faible que fimu, de l'ordre de 1 Hz, et par exemple égale à 5 Hz. Comme évoqué ci-dessus, l'unité de calcul est configurée pour mettre en oeuvre une détermination 15 d'un état de position de l'objet mobile à l'aide d'un EKF. Cette détermination est réalisée par exemple au cours de l'exécution, par le processeur, d'un programme stocké dans la mémoire 31. La détermination mise en oeuvre par l'unité de calcul comprend une étape d'estimation et une étape de correction. 20 L'étape d'estimation consiste en une détermination initiale, éventuellement provisoire, de l'état de l'EKF. Concrètement, l'unité de calcul calcule un état estimé de l'EKF à l'instant k à partir de l'état de l'EKF à l'instant k-1 en utilisant l'équation d'état (1) de l'EKF. L'état estimé de l'EKF est ensuite soumis à l'étape de correction. 25 Concrètement, l'unité de calcul vérifie si au moins l'une des mesures fournies par l'IMU 32, le magnétomètre 35 et le récepteur GNSS 36 sont disponibles. Si aucune mesure n'est disponible, l'unité de calcul n'acquiert aucune mesure et n'effectue aucune correction à l'instant k. À l'inverse, si au moins une mesure est disponible, l'unité de calcul l'acquiert et effectue 30 par le calcul une correction de l'état estimé de l'EKF à l'instant k, en fonction d'au moins une des mesures disponibles. L'étape d'acquisition, l'étape d'estimation et de correction sont effectuées de manière répétée, de manière à obtenir une succession d'états de l'EKF. Chaque répétition correspond à une itération de l'EKF. La 35 trajectoire de l'objet mobile est obtenue en extrayant l'état de position de chacun des états de l'EKF. L'unité de calcul itère l'état de l'EKF à une fréquence du même ordre de grandeur que, et de préférence égale à, la fréquence fimu. L'estimation tire ainsi parti de la fréquence d'acquisition élevée de l'IMU 32. 16 L'état X de l'EKF mis en oeuvre par l'unité de calcul comprend un vecteur vitesse instantanée y et un vecteur vitesse moyenne i7 du dispositif 10. Le vecteur vitesse moyenne y est obtenu en effectuant une moyenne des vecteurs vitesse instantanée y de au moins N états 5 précédents de l'EKF, où : fcniss L'état X de l'EKF comprend en outre un décalage entre l'horloge du récepteur satellitaire 36 et le temps du système mondial de navigation par satellite. Durant l'étape de correction, lorsqu'une mesure de la phase du signal 10 56 et une mesure précédente de ladite phase sont disponibles, ladite mesure précédente correspondant à l'un desdits au moins N états précédents du filtre de Kalman étendu, et la mesure de ladite phase et ladite mesure précédente concernent le signal 56 émis par un même satellite du système mondial de navigation par satellite, l'état estimé du 15 filtre de Kalnnan étendu est corrigé en fonction de la différence entre ladite mesure et ladite mesure précédente. Les inventeurs ont constaté que, de cette manière, l'erreur est significativement plus faible qu'avec les procédés de l'art antérieur, comme cela sera détaillé plus loin, et ce en particulier lors d'une utilisation 20 dite « indoors ». Dans un mode de réalisation préféré, la moyenne est une moyenne arithmétique non pondérée. Dans un mode de réalisation préféré, moyenne 17 est obtenu en effectuant une moyenne des vecteurs vitesse instantanée y de 25 exactement N états précédents de l'EKF. On notera que dans ce cas, la condition ci-dessus relative à la phase du signal 56 est équivalente à la condition que deux mesures consécutives de la phase du signal 56 émis par un même satellite du GNSS soient disponibles. En effet, N étant défini par l'équation N = Li-el, au plus deux mesures de la phase peuvent être 1 GNSS1 30 disponibles pour les N états précédents de l'EKF. Dans l'exemple présenté ci-dessus, l'unité de calcul est installée dans un boîtier commun avec l'accéléromètre 33, du gyromètre 34, du magnétomètre 35 et le récepteur GNSS 36, et l'unité de calcul acquiert directement les mesures réalisées par ces capteurs, par exemple via une 35 interface réseau connue. En alternative, l'unité de calcul peut être extérieure à ce boîtier. Les mesures peuvent alors être stockées dans la mémoire 31 afin d'être post- fimu N = 17 traitées par l'unité de calcul, ou encore être transmises à l'unité de calcul via l'unité de transmission 40. Exemple d'EKF On présente ci-dessous, à titre d'exemple non-limitatif, un EKF 5 permettant de mettre en oeuvre une détermination d'un état de position de l'objet mobile décrite ci-dessus. Vecteur d'état retenu L'état Xde l'EKF choisi dans le présent exemple comprend : - le quaternion des angles d'attitude ce , qui représente le vecteur 10 d'attitude ; - le biais du quaternion bq , qui représente le biais du vecteur d'attitude ; - le biais de l'accéléromètre bacc ; - le vecteur position P; 15 - le vecteur vitesse instantanée y; - le vecteur vitesse moyenne i'; - la différence temporelle du décalage d'horloge du récepteur GNSS tIcIT par rapport au temps GPS c8 - - GPS T -L17 ; - la différence temporelle du décalage d'horloge du récepteur GNSS AdT r 20 par rapport au temps GLONASS c8 - -GLO zlt C'est-à-dire : Le vecteur d'état Xcomprend ainsi un état de position de l'objet mobile, en l'espèce son vecteur position P et son vecteur vitesse instantanée y, exprimés dans le repère RN, et le vecteur vitesse moyenne 25 17 , lui aussi exprimé dans le repère RN. Dans la suite : - le symbole « ^ » au-dessus d'une variable signifie qu'il s'agit d'une valeur estimée ; - le symbole « - » en exposant d'une variable signifie qu'il s'agit 30 d'une valeur prédite ; - le symbole « + » en exposant d'une variable signifie qu'il s'agit d'une valeur mise à jour. Mesures L'accéléromètre 33 est supposé fournir une mesure yade la forme : y, = fb + 1:1/,. + /7,, - ab - gb + lei + na x, sceT ,8biLT , ôtec , 8 pn T , svn T , sol' , AcIT T { ilcIT T C8GPS jt , C8GLO 18 où ab désigne le vecteur accélération, gb l'accélération de la pesanteur, Mi désigne le biais de l'accéléromètre et ria désigne un bruit blanc gaussien. Le gyromètre 34 est supposé fournir une mesure y9de la forme : ye = wb + bic),) + na, 5 où (sob désigne le vecteur vitesse angulaire, bi,),, désigne le biais du gyromètre et ri, désigne un bruit blanc gaussien. Le magnétomètre 35 est supposé fournir une mesure yinde la forme : yni = SM(AsiBb + b)+ bis?0 + rim où Bb désigne le vecteur champ magnétique local, S est un facteur 10 d'échelle, M est une matrice de correction de la non-orthogonalité des axes, brii est le biais introduit par l'effet dit « Hard Iron » en anglais (déviation magnétique dite de fer dur), A5i est une matrice permettant de tenir compte de l'effet dit « Soft Iron » en anglais (qui correspond à une variation magnétique dite de fer mou), be, est le biais du magnétomètre 15 proprement dit (occasionnellement noté bb dans la suite), et nr, un bruit blanc gaussien. Les mesures y a, y g et yni sont supposées être acquises à une fréquence d'acquisition fimu > favss, par exemple égale à 160 Hz. Le récepteur GNSS 36 est supposé pouvoir mesurer la phase çbi d'un 20 signal GPS et/ou d'un signal GLONASS. La mesure de la phase (pi est supposée être acquise à une fréquence d'acquisition fGNss relativement faible, par exemple égale à 5 Hz. On peut montrer que la distance géométrique pli' entre le récepteur GNSS i et le satellite GNSS k est liée au déphasage eic entre le signal reçu 25 par le récepteur GNSS i et le signal émis par le satellite GNSS k par la relation : À. 1,1,:' = pii` + c (dtk - dTi) - 2,. Nik _ Apiono,k + Aptropo,k où : - À désigne la longueur d'onde du signal ; - c/tk désigne le décalage d'horloge du satellite ; 30 - dti désigne le décalage d'horloge du récepteur ; - Apic'n°,k désigne le décalage dû à l'ionosphère ; _ Ap trop o, k désigne le décalage dû à la troposphère ; - C désigne la célérité de la lumière dans le vide ; - NI REVENDICATIONS1. Procédé de détermination d'une trajectoire d'un objet mobile, comprenant : l'acquisition d'un vecteur accélération (ab) de l'objet mobile, l'acquisition d'un vecteur vitesse angulaire (cob) de l'objet mobile, l'acquisition d'un vecteur champ magnétique local (Bb) au niveau de l'objet mobile, et l'acquisition d'une phase ((pi) d'un signal (56) émis par un système mondial de navigation par satellite, et une étape de détermination d'un état de position de l'objet mobile à l'aide d'un filtre de Kalman étendu, l'état (X) du filtre de Kalman étendu comprenant l'état de position et un vecteur vitesse instantanée (y) de l'objet mobile et un décalage (c8Gps15,Fit. ) entre l'horloge du récepteur satellitaire recevant ledit signal (56) et le temps du système mondial de navigation par satellite, ladite étape de détermination comprenant une étape d'estimation de l'état du filtre de Kalman étendu et, lorsqu'une mesure de l'un au moins parmi ledit vecteur accélération (ab), ledit vecteur vitesse angulaire (s), ledit vecteur champ magnétique local (Bb) au niveau de l'objet mobile, et ladite phase (0) est disponible, une étape de correction au cours de laquelle l'état estimé du filtre de Kalman étendu est corrigé en fonction d'au moins une desdites mesures disponibles, caractérisé en ce que l'état (X) du filtre de Kalman étendu comprend un vecteur vitesse moyenne (i",) de l'objet mobile, ledit vecteur vitesse moyenne (i-r) étant une moyenne des vecteurs vitesses instantanée (y) de au moins N états précédents du filtre de Kalman étendu, où : f !mu IV = f GNss' où fimu désigne la fréquence de la mesure dudit vecteur vitesse angulaire (cob), et fGNss désigne la fréquence de la mesure de ladite phase (0i), et durant l'étape de correction, lorsqu'une mesure de ladite phase (0) et une mesure précédente de ladite phase (0,) sont disponibles, ladite mesure précédente correspondant à l'un desdits au moins N états précédents du filtre de Kalman étendu, et la mesure de ladite phase ((pi) et ladite mesure précédente concernant le signal (56) émis par un même satellite du système mondial de navigation par satellite, l'état estimé du 31 filtre de Kalman étendu est corrigé en fonction de la différence entre ladite mesure et ladite mesure précédente. 2. Procédé de détermination selon la revendication 1, dans lequel ladite moyenne est une moyenne arithmétique non pondérée. 5 3. Procédé de détermination selon la revendication 1 ou 2, dans lequel le vecteur vitesse moyenne (ve) est une moyenne des vecteurs vitesses instantanée (y) de exactement N états précédents du filtre de Kalman étendu. 4. Procédé de détermination selon l'une quelconque des 10 revendications 1 à 3, dans lequel, durant l'étape de correction, lorsque la norme du vecteur accélération (ab) mesuré est sensiblement égale à la norme de l'accélération de la pesanteur (gb) et sensiblement constante, l'état estimé du filtre de Kalman étendu est corrigé en fixant à zéro le vecteur vitesse instantanée (y). 15 5. Procédé de détermination selon l'une quelconque des revendications 1 à 4, dans lequel l'état du filtre de Kalman étendu comprend un vecteur d'attitude, et durant l'étape de correction, lorsque la norme du vecteur 20 accélération (ab) mesuré est sensiblement égale à la norme de l'accélération de la pesanteur (gb) et sensiblement constante, l'état estimé du filtre de Kalman étendu est corrigé en fonction du vecteur accélération mesuré (ab) ou du vecteur vitesse angulaire mesuré (wb). 6. Procédé de détermination selon l'une quelconque des 25 revendications 1 à 5, dans lequel l'état du filtre de Kalman étendu comprend un vecteur d'attitude, et durant l'étape de correction, lorsque la norme du vecteur champ magnétique local (Bb) mesuré est sensiblement constante et un 30 angle entre ledit vecteur champ magnétique local (Bb) mesuré et l'accélération de la pesanteur (gb) est sensiblement égal à un angle entre ladite accélération de la pesanteur (gb) et le vecteur champ magnétique terrestre, l'état estimé du filtre de Kalman étendu est corrigé en fonction du vecteur champ magnétique local mesuré (Bb) et/ou du vecteur vitesse 35 angulaire mesuré (wb). 7. Procédé de détermination selon l'une quelconque des revendications 1 à 6, comprenant en outre la mesure d'une deuxième phase d'un deuxième signal (56') émis par un deuxième système mondial de navigation par satellite, et dans lequel 32 l'état (X) du filtre de Kalman étendu comprend un décalage (c8GL0 entre l'horloge du récepteur satellitaire (36) et le temps du deuxième système mondial de navigation par satellite, et durant l'étape de correction, lorsqu'une mesure de ladite 5 deuxième phase et une deuxième mesure précédente de ladite deuxième phase ((pi) sont disponibles, ladite deuxième mesure précédente correspondant à l'un desdits au moins N états précédents du filtre de Kalman étendu, et la mesure de ladite deuxième phase (0i) et ladite deuxième mesure précédente concernant le signal (56') émis par un 10 même satellite du deuxième système mondial de navigation par satellite, l'état estimé du filtre de Kalman étendu est corrigé en fonction de la différence entre ladite mesure de la deuxième phase et ladite deuxième mesure précédente. 8. Programme comportant des instructions pour l'exécution du 15 procédé de détermination selon l'une quelconque des revendications 1 à 7 lorsque ledit programme est exécuté par un ordinateur. 9. Support d'enregistrement lisible par ordinateur sur lequel est enregistré un programme d'ordinateur comportant des instructions pour l'exécution du procédé de détermination selon l'une quelconque des 20 revendications 1 à 7. 10. Dispositif (10) de détermination d'une trajectoire d'un objet mobile, le dispositif comprenant : un accéléromètre (33) configuré pour mesurer un vecteur accélération (ab) ; 25 un gyromètre (34) configuré pour mesurer un vecteur vitesse angulaire ((Job) ; un magnétomètre (35) configuré pour mesurer un vecteur champ magnétique local (13b) ; un récepteur satellitaire (36) configuré pour mesurer une phase 30 (4)i) d'un signal (56) émis par un système mondial de navigation par satellite ; et une unité de calcul (20, 31) configurée pour mettre en oeuvre une détermination d'un état de position de l'objet mobile à l'aide d'un filtre de Kalman étendu, l'état (X) du filtre de Kalman étendu comprenant l'état 35 de position et un vecteur vitesse instantanée (y) de l'objet mobile et un décalage (C6GPSI-AtT ) entre l'horloge du récepteur satellitaire (36) et le temps du système mondial de navigation par satellite, 33 ladite détermination comprenant une étape d'estimation de l'état du filtre de Kalman étendu et, lorsqu'une mesure de l'un au moins parmi ledit vecteur accélération (a"), ledit vecteur vitesse angulaire ((AM, ledit vecteur champ magnétique local (P) au niveau de l'objet mobile, et 5 ladite phase (çbg) est disponible, une étape de correction au cours de laquelle l'état estimé du filtre de Kalman étendu est corrigé en fonction d'au moins une desdites mesures disponibles, caractérisé en ce que l'état (X) du filtre de Kalman étendu comprend un vecteur 10 vitesse moyenne (V) de l'objet mobile, ledit vecteur vitesse moyenne (r-) étant une moyenne des vecteurs vitesses instantanée (y) de au moins N états précédents du filtre de Kalman étendu, où : N= f imu f GNSSI où fimu désigne la fréquence de la mesure (cob) dudit vecteur 15 vitesse angulaire, et fGNss désigne la fréquence de la mesure de ladite phase (cpi), et durant l'étape de correction, lorsqu'une mesure de ladite phase ((pi) et une mesure précédente de ladite phase (44) sont disponibles, ladite mesure précédente correspondant à l'un desdits au moins N états 20 précédents du filtre de Kalman étendu, et la mesure de ladite phase ((pi) et ladite mesure précédente concernant le signal (56) émis par un même satellite du système mondial de navigation par satellite, l'état estimé du filtre de Kalman étendu est corrigé en fonction de la différence entre ladite mesure et ladite mesure précédente. 25 11. Dispositif selon la revendication 10, dans lequel ladite moyenne est une moyenne arithmétique non pondérée. 12. Dispositif selon la revendication 10 ou 11, dans lequel le vecteur vitesse moyenne (çr) est une moyenne des vecteurs vitesses instantanée (y) de exactement N états précédents du filtre de Kalman 30 étendu.