Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
LOCATING DEVICE
Document Type and Number:
WIPO Patent Application WO/2019/207238
Kind Code:
A1
Abstract:
A locating device comprises a memory (10) arranged to receive data concerning the distance between a plurality of anchors and one or more mobile sources at a plurality of locations different to each other. The number of anchors and the number of locations is such that one must be higher than four and is designated as the primary number, and the other higher than ten and is designated as the secondary number. The device further comprises a decomposer (4) arranged to calculate a decomposition, into singular values, of a matrix formed by the product of the Euclidean distance matrix derived from the distance data multiplied by two square matrices, one of which has a size equal to the primary number squared and the other is the transpose of a matrix with a size equal to the secondary number squared. The device further comprises a reducer (6) arranged to calculate a resolution vector minimising, according to the least squares method, the difference between the product of a simplification matrix multiplied by the resolution vector and a matrix formed by the product of the Euclidean distance matrix derived from the distance data multiplied by a vector of which all the elements are equal to one except the first element which is zero, and by a vector of which all the elements are zero except the first which is equal to one, and a solver (8) arranged to derive an inversion vector from the last three elements of the resolution vector and an inversion matrix formed from the other elements, in order to determine a transformation matrix such that the inversion matrix is equal to the product of the transformation matrix multiplied by its transpose, and to return a matrix of coordinates of the anchors and a matrix of coordinates of the locations from the transformation matrix, the inversion vector, the first matrix of the decomposition into singular values and the product of the second matrix and the third matrix of the decomposition into singular values.

Inventors:
DAGHER ROUDY (FR)
ZHENG GANG (FR)
QUADRAT ALBAN (FR)
Application Number:
PCT/FR2019/050930
Publication Date:
October 31, 2019
Filing Date:
April 18, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INRIA INST NAT RECH INFORMATIQUE & AUTOMATIQUE (FR)
International Classes:
G01S5/02; G05D1/02; G06F17/16
Foreign References:
EP3001217A12016-03-30
EP1617601A22006-01-18
US20150201309A12015-07-16
Other References:
YUE WANG ET AL: "Anchor-Based Three-Dimensional Localization Using Range Measurements", 2012 8TH INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATIONS, NETWORKING AND MOBILE COMPUTING, 1 September 2012 (2012-09-01), pages 1 - 5, XP055537396, ISBN: 978-1-61284-682-8, DOI: 10.1109/WiCOM.2012.6478432
Attorney, Agent or Firm:
CABINET NETTER (FR)
Download PDF:
Claims:
Revendications

1. 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 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 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 à 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).

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 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.

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 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 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 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 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 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 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).

6. Procédé de localisation mis en œuvre 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 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 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 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 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 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 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 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 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).

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 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.

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 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 de l’opération b), du vecteur d’inversion et de la matrice d’inversion. 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 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 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 :

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 déterminée par le solveur (8).

1 1. Produit de programme d’ordinateur comprenant des portions de code de programme pour mettre en œuvre 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 ordinateur.

Description:
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 é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 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 avec elle-même et une matrice 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,

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 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 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. 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 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 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 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 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 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 - 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 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 œuvre 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 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 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 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 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 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 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

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 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). 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 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,

- 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 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 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 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 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 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. L’invention concerne enfin un produit de programme d’ordinateur comprenant des portions de code de programme pour mettre en œuvre 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 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 œuvre par le dispositif de la Figure 1,

- la Figure 3 représente un exemple de mise en œuvre d’une opération de la Figure 2, et - la Figure 4 représente un exemple de mise en œuvre 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 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, 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 œuvre dans le cadre de l'invention. Cette Annexe 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.

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 œuvre sur un ordinateur qui reçoit des données de localisation. Cet ordinateur est ici de type PC muni du système d’exploitation 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 distribuées, etc. 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 œuvre 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 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 électroniques spécialisés tel un AS IC. 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 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.

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.

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. 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 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 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 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 œuvre 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 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 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 produit de la matrice des distances euclidiennes entre les matrices X et A par respectivement une matrice J N de dimension N*N, et une matrice J M de dimension M*M. Les matrices J N et J M 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 J N X d’une part et J M A d’autre part. L’équation [30] réexprime la deuxième ligne de l’équation en la réécrivant pour faire apparaître une factorisation en (Ai-Xi).

L’équation [35] exprime une relation entre la matrice des distances euclidiennes et le produit matriciel J N X 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], permettent de la re formuler 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 désigne le produit de Kronecker), et que la matrice D 3 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 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.

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. La Figure 2 représente un exemple d’une fonction de localisation mise en œuvre 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 décomposeur 4. 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 œuvre de la fonction Red(). 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. Ensuite, dans une opération 310, le membre de droite de l’équation [50] est calculé, au moyen des matrices J N et le vecteur C M , la matrice J N ayant déjà été définie, et le vecteur C M é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 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 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, que l’ancre X 2 est dans le plan (x ; z) du repère, et que la source mobile Al a pour coordonnées (a1 ; 0 ; 0), 1 max étant la valeur propre la plus élevée de la décomposition en vecteurs propres de la matrice L de l’équation [70], et E 1max é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, que l’ancre X 2 a pour coordonnées (x2 ; 0 ; 0), et que la source mobile Al apour coordonnées (al ; 0 ; 0), 1 max étant la valeur propre la plus élevée de la décomposition en vecteurs propres de la matrice L de l’équation [80], et Ei max étant le vecteur propre correspondant, et

- dans le cas de l’équation [85], on part du principe que l’ancre X 1 est l’origine du repère, que l’ancre X 2 a pour coordonnées (x2 ; 0 ; 0), et que l’ancre X 3 a pour coordonnées (x3 ; 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. 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