FR 3080447 A1 20191025 FR 1853553 A 20180423 INRIA205.FRD Dispositif de localisation L'invention concerne le domaine de la localisation et plus particulièrement la localisation de sources mobiles dans un environnement munis d'ancres. Le domaine de la localisation est particulièrement prolifique depuis une quinzaine d'année. Avec le développement du GPS, la géolocalisation a connu un usage sans cesse croissant, et de plus en plus d'applications en font un usage central. Cependant, le GPS pose des problèmes de disponibilité et de consommation d'énergie. Pour cette raison, le domaine de la localisation par traitement du signal, par exemple sur la base des échanges avec des stations wifi, des antennes relais, ou encore avec des balises (« beacons » en anglais), a connu un essor remarquable. La plupart des solutions relèvent de la triangulation et présentent une précision assez faible et/ou des contraintes fortes, comme la connaissance précise de positions absolues de références. L'invention vient améliorer la situation. A cet effet, l'invention propose un dispositif de localisation comprenant : - une mémoire agencée pour recevoir des données de distance entre une pluralité d'ancres et une ou plusieurs sources mobiles en une pluralité d'emplacements distincts entre eux, le nombre d'ancres et le nombre d'emplacements remplissant le critère que l'un doit être supérieur à quatre et est désigné en tant que nombre primaire et l'autre supérieur à dix et est désigné en tant que nombre secondaire, - un décomposeur agencé pour accéder aux données de distance et pour calculer une décomposition en valeurs singulières d'une matrice formée par le produit de la matrice des distances euclidiennes tirée des données de distance par deux matrices carrées dont l'une a une dimension égale au nombre primaire au carré et présente une première ligne d'éléments nuls, une première colonne dont les éléments sont égaux à moins un à l'exception du premier 2 élément qui est nul, les autres éléments formant une matrice identité d'ordre égal au nombre primaire moins 1, et l'autre est la transposée d'une matrice de dimension égale au nombre secondaire au carré présentant une première ligne d'éléments nuls, une première colonne dont les éléments sont égaux à moins un à l'exception du premier élément qui est nul, les 5 autres éléments formant une matrice identité d'ordre égal au nombre secondaire moins un, - un réducteur agencé pour calculer un vecteur de résolution minimisant selon les moindres carrés la différence entre le produit d'une matrice de simplification par le vecteur de résolution et d'une matrice formée par le produit de la matrice des distances euclidiennes tirée des données de distance d'une part par un vecteur dont tous les éléments valent un à 10 l'exception du premier élément qui est nul, et d'autre part par un vecteur dont tous les éléments sont nuls à l'exception du premier qui vaut un, la matrice de simplification étant tirée de la multiplication entre le produit de Khatri-Rao par partitionnement en lignes de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur avec elle-même et une matrice de duplication de dimension trois, concaténée avec le double de 15 l'opposé de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur, - un solveur agencé pour tirer un vecteur d'inversion à partir des trois derniers éléments du vecteur de résolution et une matrice d'inversion formée à partir des autres éléments du vecteur de résolution, pour déterminer une matrice de transformation telle que la matrice 20 d'inversion est égale au produit de la matrice de transformation par sa transposée, et pour retourner d'une part une matrice de coordonnées des ancres et d'autre part une matrice de coordonnées des emplacements à partir de la matrice de transformation, du vecteur d'inversion, de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur et du produit de la deuxième matrice et de la troisième matrice de la 25 décomposition en valeurs singulières réalisée par le décomposeur. Ce dispositif est particulièrement avantageux car il permet à une localisation d'une ou plusieurs sources mobiles de manière très rapide avec des contraintes faibles par rapport à l'existant. 30 3 Dans diverses variantes, le dispositif selon l'invention peut présenter une ou plusieurs des caractéristiques suivantes : - le solveur est agencé pour déterminer la matrice de transformation comme l'agrégation de trois vecteurs de dimension trois dont le premier est le vecteur d'inversion divisé par la 5 distance entre la première ancre et la première source mobile, le deuxième est tiré d'un vecteur de valeurs propres d'une matrice calculée à partir de la deuxième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur, du vecteur d'inversion et de la matrice d'inversion, et le troisième est calculé à partir de la deuxième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le 10 décomposeur, du vecteur d'inversion et de la matrice de transformation, - le solveur est agencé pour déterminer la matrice de transformation comme l'agrégation de trois vecteurs de dimension trois dont le premier est le vecteur d'inversion divisé par la distance entre la première ancre et la première source mobile, le deuxième est calculé à partir de la deuxième ligne de la première matrice de la décomposition en valeurs singulières 15 réalisée par le décomposeur, du vecteur d'inversion et de la matrice d'inversion, et le troisième est tiré d'un vecteur de valeurs propres d'une matrice calculée à partir de la deuxième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur, du vecteur d'inversion et de la matrice d'inversion, - le solveur est agencé pour déterminer la matrice de transformation comme l'agrégation de 20 trois vecteurs de dimension trois dont le premier est calculé à partir de la matrice d'inversion et de la deuxième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur, le deuxième est calculé à partir de la matrice d'inversion, de la deuxième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur et de la troisième ligne de la première matrice de la décomposition en 25 valeurs singulières réalisée par le décomposeur, et le troisième est formé à partir de la matrice d'inversion et du produit vectoriel entre la transposée de la deuxième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur et la transposée de la troisième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur, et 4 - le solveur est en outre agencé pour calculer une matrice de changement de repère entre les coordonnées de trois ancres dans un repère absolu et les coordonnées de ces trois ancres dans la matrice de coordonnées des ancres déterminée par le solveur, et pour retourner une matrice de coordonnées absolues des emplacements à partir de la matrice de changement de repère 5 et la matrice de coordonnées des emplacements déterminée par le solveur. L'invention concerne également un procédé de localisation mis en oeuvre par ordinateur comprenant les opérations suivantes : a) Recevoir des données de distance entre une pluralité d'ancres et une ou plusieurs 10 sources mobiles en une pluralité d'emplacements distincts entre eux, le nombre d'ancres et le nombre d'emplacements remplissant le critère que l'un doit être supérieur à quatre et est désigné en tant que nombre primaire et l'autre supérieur à dix et est désigné en tant que nombre secondaire, b) Calculer une décomposition en valeurs singulières d'une matrice formée par le 15 produit de la matrice des distances euclidiennes tirée des données de distance par deux matrices carrées dont l'une a une dimension égale au nombre primaire au carré et présente une première ligne d'éléments nuls, une première colonne dont les éléments sont égaux à moins un à l'exception du premier élément qui est nul, les autres éléments formant une matrice identité d'ordre égal au nombre primaire moins un, et l'autre est la transposée d'une 20 matrice de dimension égale au nombre secondaire au carré présentant une première ligne d'éléments nuls, une première colonne dont les éléments sont égaux à moins un à l'exception du premier élément qui est nul, les autres éléments formant une matrice identité d'ordre égal au nombre secondaire moins un, c) calculer un vecteur de résolution minimisant selon les moindres carrés la différence 25 entre le produit d'une matrice de simplification par le vecteur de résolution et d'une matrice formée par le produit de la matrice des distances euclidiennes tirée des données de distance d'une part par un vecteur dont tous les éléments valent un à l'exception du premier élément qui est nul, et d'autre part par un vecteur dont tous les éléments sont nuls à l'exception du premier qui vaut un, la matrice de simplification étant tirée de la multiplication entre le 30 produit de Khatri-Rao par partitionnement en lignes de la première matrice de la 5 décomposition en valeurs singulières de l'opération b) avec elle-même et une matrice de duplication de dimension trois, concaténée horizontalement avec le double de l'opposé de la première matrice de la décomposition en valeurs singulières de l'opération b), d) tirer un vecteur d'inversion à partir des trois derniers éléments du vecteur de 5 résolution et une matrice d'inversion formée à partir des autres éléments du vecteur de résolution, e) déterminer une matrice de transformation telle que la matrice d'inversion est égale au produit de la matrice de transformation par sa transposée, et retourner d'une part une matrice de coordonnées des ancres et d'autre part une matrice 10 de coordonnées des emplacements à partir de la matrice de transformation, du vecteur d'inversion, de la première matrice de la décomposition en valeurs singulières de l'opération b) et du produit de la deuxième matrice et de la troisième matrice de la décomposition en valeurs singulières de l'opération b). 15 Selon diverses variantes, ce procédé peut comprendre une ou plusieurs des opérations suivantes : - l'opération e) la détermination de la matrice de transformation comme l'agrégation de trois vecteurs de dimension trois dont le premier est le vecteur d'inversion divisé par la distance entre la première ancre et la première source mobile, le deuxième est tiré d'un vecteur de 20 valeurs propres d'une matrice calculée à partir de la deuxième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b), du vecteur d'inversion et de la matrice d'inversion, et le troisième est calculé à partir de la deuxième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b), du vecteur d'inversion et de la matrice d'inversion, 25 - l'opération e) la détermination de la matrice de transformation comme l'agrégation de trois vecteurs de dimension trois dont le premier est le vecteur d'inversion divisé par la distance entre la première ancre et la première source mobile, le deuxième est calculé à partir de la deuxième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b), du vecteur d'inversion et de la matrice d'inversion, et le troisième est tiré d'un 30 vecteur de valeurs propres d'une matrice calculée à partir de la deuxième ligne de la première 6 matrice de la décomposition en valeurs singulières de l'opération b), du vecteur d'inversion et de la matrice d'inversion, - l'opération e) la détermination de la matrice de transformation comme l'agrégation de trois vecteurs de dimension trois dont le premier est calculé à partir de la matrice d'inversion et 5 de la deuxième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b), le deuxième est calculé à partir de la matrice d'inversion, de la deuxième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b) et de la troisième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b), et le troisième est formé à partir de la matrice d'inversion et du produit 10 vectoriel entre la transposée de la deuxième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b) et la transposée de la troisième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b), et - le procédé comprend en outre l'opération suivante : g) calculer une matrice de changement de repère entre les coordonnées de trois 15 ancres dans un repère absolu et les coordonnées de ces trois ancres dans la matrice de coordonnées des ancres déterminée par le solveur, et pour retourner une matrice de coordonnées absolues des emplacements à partir de la matrice de changement de repère et la matrice de coordonnées des sources mobiles déterminée par le solveur. 20 L'invention concerne enfin un produit de programme d'ordinateur comprenant des portions de code de programme pour mettre en oeuvre le dispositif ou le procédé tels que décrits plus haut lorsque ledit programme est exécuté sur un ordinateur. D'autres caractéristiques et avantages de l'invention apparaîtront mieux à la lecture de la 25 description qui suit, tirée d'exemples donnés à titre illustratif et non limitatif, tirés des dessins sur lesquels : - la Figure 1 représente un mode de réalisation d'un dispositif selon l'invention, - la Figure 2 représente un exemple d'une fonction de localisation mise en oeuvre par le dispositif de la Figure 1, 30 - la Figure 3 représente un exemple de mise en oeuvre d'une opération de la Figure 2, et 7 - la Figure 4 représente un exemple de mise en oeuvre d'une autre opération de la Figure 2. Les dessins et la description ci-après contiennent, pour l'essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre la présente 5 invention, mais aussi contribuer à sa définition, le cas échéant. La présente description est de nature à faire intervenir des éléments susceptibles de protection par le droit d'auteur et/ou le copyright. Le titulaire des droits n'a pas d'objection à la reproduction à l'identique par quiconque du présent document de brevet ou de sa description, 10 telle qu'elle apparaît dans les dossiers officiels. Pour le reste, il réserve intégralement ses droits. En outre, la description détaillée est augmentée de l'annexe A, qui donne la formulation de certaines formules mathématiques mises en oeuvre dans le cadre de l'invention. Cette Annexe 15 est mise à part dans un but de clarification, et pour faciliter les renvois. Elle est partie intégrante de la description, et pourra donc non seulement servir à mieux faire comprendre la présente invention, mais aussi contribuer à sa définition, le cas échéant. La Figure 1 représente un mode de réalisation d'un dispositif selon l'invention. 20 Le dispositif 2 comprend un décomposeur 4, un réducteur 6, un solveur 8 et une mémoire 10. Dans l'exemple décrit ici, le dispositif 2 est mis en oeuvre sur un ordinateur qui reçoit des données de localisation. Cet ordinateur est ici de type PC muni du système d'exploitation 25 Windows 7, d'une carte graphique capable de gérer un ou plusieurs affichages. Bien sûr, il pourra être réalisé de manière différente, avec un système d'exploitation différent, avec une communication avec ou sans fil avec le ou les affichages. Le terme ordinateur doit être interprété au sens large du terme. Par exemple, il pourrait être une tablette ou un smartphone, un terminal d'interaction avec un serveur de calcul, ou un élément sur une grille de ressources 30 distribuées, etc. 8 Le décomposeur 4, le réducteur 6 et le solveur 8 sont ici des programmes exécutés par le processeur de l'ordinateur. En variante, un ou plusieurs de ces éléments pourrait être mis en oeuvre de manière différente au moyen d'un processeur dédié. Par processeur, il doit être compris tout processeur adapté aux traitements de données décrits plus bas. Un tel processeur 5 peut être réalisé de toute manière connue, sous la forme d'un microprocesseur pour ordinateur personnel, d'une puce dédiée de type FPGA ou SoC (« system on chip » en anglais), d'une ressource de calcul sur une grille, d'un microcontrôleur, ou de toute autre forme propre à fournir la puissance de calcul nécessaire à la réalisation décrite plus bas. Un ou plusieurs de ces éléments peuvent également être réalisés sous la forme de circuits 10 électroniques spécialisés tel un ASIC. Une combinaison de processeur et de circuits électroniques peut également être envisagée. La mémoire 10 peut être tout type de stockage de données propre à recevoir des données numériques : disque dur, disque dur à mémoire flash (SSD en anglais), mémoire flash sous 15 toute forme, mémoire vive, disque magnétique, stockage distribué localement ou dans le cloud, etc. Les données calculées par le dispositif 2 peuvent être stockées sur tout type de mémoire similaire à la mémoire 10, ou sur celle-ci. Ces données peuvent être effacées après que le dispositif ait effectué ses tâches ou conservées. 20 Le dispositif 2 reçoit comme données d'entrée des distances entre une pluralité d'ancres et une pluralité de sources. Ces distances sont reliées aux coordonnées des ancres et des sources. Traditionnellement, ce type de problème est abordé en cherchant à résoudre les équations quadratiques liées aux distances. 25 La Demanderesse a découvert qu'en utilisant la matrice des distances euclidiennes entre les sources A et les ancres X, il est possible de résoudre entièrement les coordonnées des ancres X et des sources A, dès lors qu'il y a au moins 4 ancres et au moins 10 sources mobiles, les ancres et les sources mobiles pouvant être inversées. 9 Dans le contexte de l'invention, la notion de sources mobiles doit être comprise au sens de l'emplacement de telles sources. En effet, ce sont les distances entre 10 emplacements distincts et 4 ancres (ou l'inverse) qui permettent de déterminer les coordonnées des ancres et des sources. Ainsi, il pourra y avoir une unique source mobile qui se déplace par rapport 5 aux ancres (par exemple un drone, ou un utilisateur se déplaçant avec son téléphone portable), et dix mesures à dix emplacements distincts de cette unique source mobile. Bien sûr, il peut y avoir un mélange des deux. Par exemple, les données de distance peuvent concerner une seule mesure de distance par rapport à 4 ancres pour 8 sources mobiles distinctes, et deux mesures de distance par rapport au 4 ancres pour une autre source mobile, ou encore une 10 seule mesure de distance par rapport à 4 ancres pour 6 sources mobiles distinctes, et deux mesures de distance par rapport au 4 ancres pour deux autres sources mobiles, etc. Dans la suite, la matrice des distances euclidiennes entre les sources A et les ancres X sera notée Edm(X, A). Ainsi, le dispositif 2 retourne des données de localisation 12 qui décrivent 15 les coordonnées exactes des matrices d'ancres X et de sources mobiles A dans un référentiel choisi. La méthode mise en oeuvre dans l'invention consiste à supprimer les termes quadratiques de la matrice des distances euclidiennes pour réduire le problème à la détermination d'une 20 matrice de transformation C et un vecteur de translation (Ai-Xi), et en séparant les variables en X et en A en s'occupant séparément de la partie gauche de la matrice des distances euclidiennes et de la partie droite de la matrice des distances euclidiennes. La combinaison de ces deux principes conduit à un problème de moindres carrés qui peut être résolu si les conditions portant sur le nombre d'ancres et le nombre de sources mobiles est respecté. Une 25 fois ce problème résolu, il est possible d'extraire X et A en choisissant un repère approprié. Les équations [10] et [15] représentent la matrice X d'ancres, la matrice A de sources mobiles, la matrice D de distances entre ancres et sources mobiles, et la matrice des distances euclidiennes Edm(X, A). L'équation [20] décrit la décomposition en valeurs singulières du 30 produit de la matrice des distances euclidiennes entre les matrices X et A par respectivement 10 une matrice JN de dimension N*N, et une matrice Jm de dimension M*M. Les matrices JN et Jm sont explicitées dans l'équation [22]. L'équation [25] utilise la décomposition en valeurs singulières de l'équation [20] aux produits matriciels JNX d'une part et JmA d'autre part. L'équation [30] réexprime la deuxième ligne de l'équation en la réécrivant pour faire 5 apparaître une factorisation en (Ai-Xi). L'équation [35] exprime une relation entre la matrice des distances euclidiennes et le produit matriciel JNX et peut être démontrée à partir de la matrice D et de l'équation [10]. Les équations [40] et [45] expriment deux autres égalités qui, réinjectées dans l'équation [35], 10 permettent de la reformuler conformément à l'équation [50]. On notera que le produit dans le membre à droite de l'équation [40] est un produit de Khatri-Rao avec partitionnement en lignes (voir équation [42], où les matrices ont m lignes et (g) désigne le produit de Kronecker), et que la matrice D3 de l'équation [45] est la matrice de duplication de dimension 3 qui permet de d'obtenir vec(A) à partir de vech(A) et est explicitée avec l'équation [47], les fonctions 15 vec() et vech() étant les opérateurs de vectorisation. Ainsi, l'équation [50] représente un système d'équation pouvant être résolus selon les moindres carrés, l'inconnue étant formée par le deuxième élément du membre de gauche, car le premier élément du membre de gauche et le membre de droite sont connus. 20 La solution de l'équation [50] est représentée avec l'équation [55], qui peut être résolue comme présenté avec l'équation [60]. Une fois cela fait, le résultat peut être réinjecté dans l'équation [30] pour recouvrer les matrices d'ancres X et de sources mobiles A. 25 La Figure 2 représente un exemple d'une fonction de localisation mise en oeuvre par le dispositif de la Figure 1. La fonction commence dans une opération 200 par la décomposition en valeurs singulières du produit matriciel de l'équation [20], via l'exécution d'un fonction SingVal() par le 30 décomposeur 4. 11 Ensuite, dans une opération 210, le réducteur 6 exécute une fonction Red(). La fonction Red() réalise les calculs permettant de définir le problème de l'équation [50]. La Figure 3 représente un exemple de mise en oeuvre de la fonction Red(). 5 La fonction Red() commence dans une opération 300 par le calcul du premier élément du membre de gauche de l'équation [50]. Pour cela, le produit de Khatri-Rao de la matrice U déterminée à l'opération 200 avec elle-même est calculé, et le double de l'opposé de la matrice U lui est concaténé horizontalement. 10 Ensuite, dans une opération 310, le membre de droite de l'équation [50] est calculé, au moyen des matrices JN et le vecteur em, la matrice JN ayant déjà été définie, et le vecteur em étant un vecteur de dimension M dont tous les éléments sont nuls, sauf le premier qui est égal à 1. Enfin, dans une opération 320, le problème de moindres carrés est résolu par une 15 fonction LSV() afin de déterminer le vecteur S de l'équation [55]. Une étude du problème de l'équation [50] montre qu'une infinité de solutions existe, à une rotation orthogonale près. Il convient donc de fixer des conditions sur le repère dans lequel on souhaite exprimer les matrices X et A pour déterminer une solution dans ce repère. Pour discuter de ces solutions, la matrice de transformation C est dans la suite décrite sous la forme de colonnes, et la 20 matrice U sous la forme de lignes, comme explicité avec l'équation [62]. L'équation [65] (respectivement [75], [85]) définit un jeu de définition de repères, et l'équation [70] (respectivement [80] et [90]) définit la matrice C solution correspondante : - dans le cas de l'équation [65], on part du principe que l'ancre Xi est l'origine du repère, 25 que l'ancre X2 est dans le plan (x ; z) du repère, et que la source mobile Al a pour coordonnées (al ; 0; 0), lmax étant la valeur propre la plus élevée de la décomposition en vecteurs propres de la matrice L de l'équation [70], et Eimax étant le vecteur propre correspondant, - dans le cas de l'équation [75], on part du principe que l'ancre Xi est l'origine du repère, 30 que l'ancre X2 a pour coordonnées (x2 ; 0 ; 0), et que la source mobile Al a pour coordonnées 12 (al ; 0; 0), lmax étant la valeur propre la plus élevée de la décomposition en vecteurs propres de la matrice L de l'équation [80], et Eimax étant le vecteur propre correspondant, et - dans le cas de l'équation [85], on part du principe que l'ancre Xi est l'origine du repère, que l'ancre X2 a pour coordonnées (x2 ; 0; 0), et que l'ancre X3 a pour coordonnées (x3 ; 5 y3 ; 0), et l'opérateur « x» de l'équation [90] désigne le produit vectoriel. L'homme du métier saura identifier d'autres conditions de fixation du repère, et les solutions correspondantes, en fonction des situations. 10 L'invention permet ainsi de déterminer totalement les matrices X et A à partir de la seule matrice des distances D, ce qui permet d'effectuer une localisation extrêmement précise à partir d'un jeu de données restreint. ANNEXE A X = = [ - - - 1 [ i i I; A =[-- - a1,1 l = [ : X1 xi,i .x1,3 Al am,3 XN XN,1 XN,3 Am 13 am,3 a1,3 I 5 I1X1- A mII2 Edm(X,A) = [II X 1 7111IZ ' .:: II X 1 - .A MHZ] Il XN - A m112 [IIXN - AllIZ - IIXN AmlIZ-1 [15] /NEdm(X,A)JmT = UVW [201 [221 1M = ... o -=1 o 0 1- o -1 1 0 o IN = =1 o IN X = UC 10 y NX = X -1NXi => thIA = A - lmAi LA = -(VW)T C-T A - lmAi= A - 1mX1 - lm(Ai- X1) => {A _ imxi= _(vw)Tc._7, + im(Ai_ x1) INEDM(X,A)em = diag((INX)(INX)T) -2INX(Ai- MT diag(AXB) = (BTIIIA)vec(X) ABB =[A1? B11 Am 0 Bm 11X1 -Al2 IIXN -A1112 20 diag((UC)(UC)T) = (UDIU)vec(CCT) = (UEIU)D3vech(CCT) [451 15 X - 1N'1 = UC [251 [30] [3 51 [401 [421 14 5 s D3= roi LOI 0 0 0 0 0 1 0 1 0 (Ai vech(CCT) X i)T = JNEDM, em Qu2T u27,Q = 0 BOT [471 10 C [(upu)Dd 1 0 0 0 [C = Imax C-10 VM et Q 0 [501 15 CCT 0 1 0 0 Xi)T 0 0 0 0 0 0 0 0 1 ; C3 = Qu2T [551 = 0 0 1 0 U - I, = [601 = [Ci 0 1 0 0 03 = avec Q [62] CCT= 0 0 0 1 05 [U11 [651 = 0 0 0 0 06 1 U2 [701 C CT 0 0 1 0 U3 [751 { 0 0 0 0 ; C3 [80] - 0 0 0 0 -2U] _[ vech(CCT)1 [C(Ai- o => (A1 C2 C3] ; [91 02 02 04 03 05 [901 u2c2,0 -0 ; C2 = a xE dia 01 -[ 02 031 02 04 05 °3 05 06 [901 u2c3,0 -6 C2 - "2 ; = VlmaxEimax U2 Q U2 dia 2 \1112 Q U2 T = 190T avec L = Q dia 'Iu2TQu2 et Q uiTQUi 15 0035] 06 -I 01 02 CCT= [92 e, 03 05 U2C2 = 0 U2C3 = 0 U3C3 = 0 OU2T U20 u C2 = avec OU2T pu,T Ci = ; fl = , ; C, = , avec u = U2T X U3T U20U2' - NI UT 0-1U \IU20U2T \IU30U3T [85] [901 REVENDICATIONS1. Dispositif de localisation comprenant : - une mémoire (10) agencée pour recevoir des données de distance entre une pluralité d'ancres et une ou plusieurs sources mobiles en une pluralité d'emplacements distincts entre eux, le nombre d'ancres et le nombre d'emplacements remplissant le critère que l'un doit être supérieur à quatre et est désigné en tant que nombre primaire et l'autre supérieur à dix et est désigné en tant que nombre secondaire, - un décomposeur (4) agencé pour accéder aux données de distance et pour calculer une décomposition en valeurs singulières d'une matrice formée par le produit de la matrice des distances euclidiennes tirée des données de distance par deux matrices carrées dont l'une a une dimension égale au nombre primaire au carré et présente une première ligne d'éléments nuls, une première colonne dont les éléments sont égaux à moins un à l'exception du premier élément qui est nul, les autres éléments formant une matrice identité d'ordre égal au nombre primaire moins 1, et l'autre est la transposée d'une matrice de dimension égale au nombre secondaire au carré présentant une première ligne d'éléments nuls, une première colonne dont les éléments sont égaux à moins un à l'exception du premier élément qui est nul, les autres éléments formant une matrice identité d'ordre égal au nombre secondaire moins un, - un réducteur (6) agencé pour calculer un vecteur de résolution minimisant selon les moindres carrés la différence entre le produit d'une matrice de simplification par le vecteur de résolution et d'une matrice formée par le produit de la matrice des distances euclidiennes tirée des données de distance d'une part par un vecteur dont tous les éléments valent un à l'exception du premier élément qui est nul, et d'autre part par un vecteur dont tous les éléments sont nuls à l'exception du premier qui vaut un, la matrice de simplification étant tirée de la multiplication entre le produit de Khatri-Rao par partitionnement en lignes de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur (4) avec elle-même et une matrice 17 de duplication de dimension trois, concaténée avec le double de l'opposé de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur (4), un solveur (8) agencé pour tirer un vecteur d'inversion à partir des trois 5 derniers éléments du vecteur de résolution et une matrice d'inversion formée à partir des autres éléments du vecteur de résolution, pour déterminer une matrice de transformation telle que la matrice d'inversion est égale au produit de la matrice de transformation par sa transposée, et pour retourner d'une part une matrice de coordonnées des ancres et d'autre part une matrice de coordonnées des emplacements 10 à partir de la matrice de transformation, du vecteur d'inversion, de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur (4) et du produit de la deuxième matrice et de la troisième matrice de la décomposition en valeurs singulières réalisée par le décomposeur (4). 15 2. Dispositif selon la revendication 1, dans lequel le solveur (8) est agencé pour déterminer la matrice de transformation comme l'agrégation de trois vecteurs de dimension trois dont le premier est le vecteur d'inversion divisé par la distance entre la première ancre et la première source mobile, le deuxième est tiré d'un vecteur de valeurs propres d'une matrice calculée à partir de la deuxième ligne de la première 20 matrice de la décomposition en valeurs singulières réalisée par le décomposeur (4), du vecteur d'inversion et de la matrice d'inversion, et le troisième est calculé à partir de la deuxième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur (4), du vecteur d'inversion et de la matrice de transformation. 25 3. Dispositif selon la revendication 1, dans lequel le solveur (8) est agencé pour déterminer la matrice de transformation comme l'agrégation de trois vecteurs de dimension trois dont le premier est le vecteur d'inversion divisé par la distance entre la première ancre et la première source mobile, le deuxième est calculé à partir de la 18 deuxième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur (4), du vecteur d'inversion et de la matrice d'inversion, et le troisième est tiré d'un vecteur de valeurs propres d'une matrice calculée à partir de la deuxième ligne de la première matrice de la décomposition en valeurs 5 singulières réalisée par le décomposeur (4), du vecteur d'inversion et de la matrice d'inversion. 4. Dispositif selon la revendication 1, dans lequel le solveur (8) est agencé pour déterminer la matrice de transformation comme l'agrégation de trois vecteurs de 10 dimension trois dont le premier est calculé à partir de la matrice d'inversion et de la deuxième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur (4), le deuxième est calculé à partir de la matrice d'inversion, de la deuxième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur (4) et de la troisième ligne de la 15 première matrice de la décomposition en valeurs singulières réalisée par le décomposeur (4), et le troisième est formé à partir de la matrice d'inversion et du produit vectoriel entre la transposée de la deuxième ligne de la première matrice de la décomposition en valeurs singulières réalisée par le décomposeur (4) et la transposée de la troisième ligne de la première matrice de la décomposition en valeurs 20 singulières réalisée par le décomposeur (4). 5. Dispositif selon l'une des revendications précédentes dans lequel le solveur (8) est en outre agencé pour calculer une matrice de changement de repère entre les coordonnées de trois ancres dans un repère absolu et les coordonnées de ces trois 25 ancres dans la matrice de coordonnées des ancres déterminée par le solveur (8), et pour retourner une matrice de coordonnées absolues des emplacements à partir de la matrice de changement de repère et la matrice de coordonnées des emplacements déterminée par le solveur (8). 19 6. Procédé de localisation mis en oeuvre par ordinateur comprenant les opérations suivantes : a) Recevoir des données de distance entre une pluralité d'ancres et une ou plusieurs sources mobiles en une pluralité d'emplacements distincts entre eux, le nombre 5 d'ancres et le nombre d'emplacements remplissant le critère que l'un doit être supérieur à quatre et est désigné en tant que nombre primaire et l'autre supérieur à dix et est désigné en tant que nombre secondaire, b) Calculer une décomposition en valeurs singulières d'une matrice formée par le produit de la matrice des distances euclidiennes tirée des données de distance par 10 deux matrices carrées dont l'une a une dimension égale au nombre primaire au carré et présente une première ligne d'éléments nuls, une première colonne dont les éléments sont égaux à moins un à l'exception du premier élément qui est nul, les autres éléments formant une matrice identité d'ordre égal au nombre primaire moins un, et l'autre est la transposée d'une matrice de dimension égale au nombre 15 secondaire au carré présentant une première ligne d'éléments nuls, une première colonne dont les éléments sont égaux à moins un à l'exception du premier élément qui est nul, les autres éléments formant une matrice identité d'ordre égal au nombre secondaire moins un, c) calculer un vecteur de résolution minimisant selon les moindres carrés la 20 différence entre le produit d'une matrice de simplification par le vecteur de résolution et d'une matrice formée par le produit de la matrice des distances euclidiennes tirée des données de distance d'une part par un vecteur dont tous les éléments valent un à l'exception du premier élément qui est nul, et d'autre part par un vecteur dont tous les éléments sont nuls à l'exception du premier qui vaut 25 un, la matrice de simplification étant tirée de la multiplication entre le produit de Khatri-Rao par partitionnement en lignes de la première matrice de la décomposition en valeurs singulières de l'opération b) avec elle-même et une matrice de duplication de dimension trois, concaténée horizontalement avec le 20 double de l'opposé de la première matrice de la décomposition en valeurs singulières de l'opération b), d) tirer un vecteur d'inversion à partir des trois derniers éléments du vecteur de résolution et une matrice d'inversion formée à partir des autres éléments du 5 vecteur de résolution, e) déterminer une matrice de transformation telle que la matrice d'inversion est égale au produit de la matrice de transformation par sa transposée, et f) retourner d'une part une matrice de coordonnées des ancres et d'autre part une matrice de coordonnées des emplacements à partir de la matrice de 10 transformation, du vecteur d'inversion, de la première matrice de la décomposition en valeurs singulières de l'opération b) et du produit de la deuxième matrice et de la troisième matrice de la décomposition en valeurs singulières de l'opération b). 15 7. Procédé selon la revendication 6, dans lequel l'opération e) la détermination de la matrice de transformation comme l'agrégation de trois vecteurs de dimension trois dont le premier est le vecteur d'inversion divisé par la distance entre la première ancre et la première source mobile, le deuxième est tiré d'un vecteur de valeurs propres d'une matrice calculée à partir de la deuxième ligne de la première matrice de la 20 décomposition en valeurs singulières de l'opération b), du vecteur d'inversion et de la matrice d'inversion, et le troisième est calculé à partir de la deuxième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b), du vecteur d'inversion et de la matrice d'inversion. 25 8. Procédé selon la revendication 6, dans lequel l'opération e) la détermination de la matrice de transformation comme l'agrégation de trois vecteurs de dimension trois dont le premier est le vecteur d'inversion divisé par la distance entre la première ancre et la première source mobile, le deuxième est calculé à partir de la deuxième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b), du 30 vecteur d'inversion et de la matrice d'inversion, et le troisième est tiré d'un vecteur 21 de valeurs propres d'une matrice calculée à partir de la deuxième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b), du vecteur d'inversion et de la matrice d'inversion. 5 9. Procédé selon la revendication 6, dans lequel l'opération e) la détermination de la matrice de transformation comme l'agrégation de trois vecteurs de dimension trois dont le premier est calculé à partir de la matrice d'inversion et de la deuxième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b), le deuxième est calculé à partir de la matrice d'inversion, de la deuxième ligne de la 10 première matrice de la décomposition en valeurs singulières de l'opération b) et de la troisième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b), et le troisième est formé à partir de la matrice d'inversion et du produit vectoriel entre la transposée de la deuxième ligne de la première matrice de la décomposition en valeurs singulières de l'opération b) et la transposée de la troisième 15 ligne de la première matrice de la décomposition en valeurs singulières de l'opération b). 10. Procédé selon l'une des revendications 6 à 9, comprenant en outre l'opération suivante : 20 g) calculer une matrice de changement de repère entre les coordonnées de trois ancres dans un repère absolu et les coordonnées de ces trois ancres dans la matrice de coordonnées des ancres déterminée par le solveur (8), et pour retourner une matrice de coordonnées absolues des emplacements à partir de la matrice de changement de repère et la matrice de coordonnées des sources mobiles 25 déterminée par le solveur (8). 11. Produit de programme d'ordinateur comprenant des portions de code de programme pour mettre en oeuvre le dispositif selon l'une des revendications 1 à 5 ou le procédé selon l'une des revendications 6 à 10 lorsque ledit programme est exécuté sur un 30 ordinateur.