POSITIONING METHODS, POSITIONING DEVICE, AND SYSTEM
20240201308 ยท 2024-06-20
Inventors
Cpc classification
G01S5/0036
PHYSICS
International classification
Abstract
The present disclosure relates to a positioning method, performed by a positioning device (20), the method comprising: receiving (101) a signal from a mobile device (10); determining (102) a positioning information of the mobile device (10) based on the received signal; providing (103) the determined positioning information of the mobile device (10) to a positioning engine (30); obtaining (107) an offset between the determined positioning information and an estimated positioning information determined by the positioning engine (30); training (108) a positioning algorithm of the positioning device (20) based on the obtained offset.
Claims
1. A positioning method, performed by a positioning device, the method comprising: receiving a signal from a mobile device; determining a positioning information of the mobile device based on the received signal; providing the determined positioning information of the mobile device to a positioning engine; obtaining an offset between the determined positioning information and an estimated positioning information determined by the positioning engine; and training a positioning algorithm of the positioning device based on the obtained offset.
2. The positioning method according to claim 1, wherein the positioning algorithm comprises a static algorithm and an adaptive machine learning algorithm, and wherein training the positioning algorithm of the positioning device based on the obtained offset comprises: training the adaptive machine learning algorithm based on the obtained offset.
3. The positioning method according to claim 2, wherein: the static algorithm comprises a machine learning model with a higher complexity than the adaptive machine learning algorithm, or wherein the static algorithm comprises a super resolution algorithm.
4. The positioning method according to claim 2, wherein the adaptive machine learning algorithm comprises a stochastic gradient descent linear regression model.
5. The positioning method according to claim 1, wherein the training the positioning algorithm comprises: updating weights of the positioning algorithm based on the offset between the determined positioning information and the estimated positioning information.
6. The positioning method according to claim 1, wherein the positioning information of the mobile device comprises at least one of an angle of arrival of the received signal or a distance between the mobile device and the positioning device.
7. The positioning method according to claim 1, wherein the received signal is a wireless communication technology signal.
8. A positioning device comprising: a receiver arranged to receive a signal from a mobile device; and a processor; and a computer-readable storage medium coupled to the processor and storing instructions that, when executed by the processor, cause the processor to perform operations comprising: determine a positioning information of the mobile device based on the received signal; provide the determined positioning information of the mobile device to a positioning engine; obtain an offset between the determined positioning information and an estimated positioning information determined by the positioning engine; and train a positioning algorithm of the positioning device based on the obtained offset.
9. A positioning method, performed by a system comprising a positioning device and a positioning engine, the positioning method comprising: receiving, by the positioning device, a signal from a mobile device; determining, by the positioning device, a positioning information of the mobile device based on the received signal; providing, by the positioning device, the determined positioning information of the mobile device to the positioning engine; determining, by the positioning engine, an estimated position of the mobile device based on the determined positioning information of the mobile device sent by the positioning device and based on further determined positioning information of the mobile device sent to the positioning engine by at least two further positioning devices; determining, by the positioning engine, an estimated positioning information of the mobile device based on the estimated position of the mobile device and a known position of the positioning device; obtaining, by the positioning device, an offset between the determined positioning information and the estimated positioning information determined by the positioning engine; and training, by the positioning device, a positioning algorithm of the positioning device based on the obtained offset.
10. The positioning method according to claim 9, wherein determining, by the positioning engine, the estimated position of the mobile device comprises: determining the estimated position of the mobile device based on a sum of the determined positioning information of the mobile device sent by the positioning device and the further determined positioning information of the mobile device sent by the at least two further positioning devices.
11. A system comprising: a positioning device according to claim 8; and a positioning engine arranged to determine the estimated positioning information of the mobile device based on the determined positioning information of the mobile device sent by the positioning device and based on further determined positioning information of the mobile device sent to the positioning engine by at least two further positioning devices.
12. (canceled)
13. A non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising: determine a positioning information of a mobile device based on a received signal from the mobile device; provide the determined positioning information of the mobile device to a positioning engine; obtain an offset between the determined positioning information and an estimated positioning information determined by the positioning engine; and train a positioning algorithm of the positioning device based on the obtained offset.
14. The non-transitory computer-readable storage medium according to claim 13, wherein the positioning algorithm comprises a static algorithm and an adaptive machine learning algorithm, and wherein training the positioning algorithm of the positioning device based on the obtained offset comprises: training the adaptive machine learning algorithm based on the obtained offset.
15. The non-transitory computer-readable storage medium according to claim 14, wherein: the static algorithm comprises a machine learning model with a higher complexity than the adaptive machine learning algorithm, or wherein the static algorithm comprises a super resolution algorithm.
16. The non-transitory computer-readable storage medium according to claim 14, wherein the adaptive machine learning algorithm comprises a stochastic gradient descent linear regression model.
17. The non-transitory computer-readable storage medium according to claim 13, wherein the training the positioning algorithm comprises: updating weights of the positioning algorithm based on the offset between the determined positioning information and the estimated positioning information.
18. The positioning method according to claim 3, wherein the adaptive machine learning algorithm comprises a stochastic gradient descent linear regression model.
19. The positioning method according to claim 18, wherein the training the positioning algorithm comprises: updating weights of the positioning algorithm based on the offset between the determined positioning information and the estimated positioning information.
20. The positioning method according to claim 19, wherein the positioning information of the mobile device comprises at least one of an angle of arrival of the received signal or a distance between the mobile device and the positioning device.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0051] The above-mentioned methods, positioning device, and system of the disclosure and their embodiments will be explained in more detail in the following with the aid of the drawings.
[0052] Elements and functional blocks having the same or similar function bear the same reference numerals throughout the drawings. Hence, their description is not necessarily repeated in following drawings.
[0053] In the figures:
[0054]
[0055]
[0056]
[0057]
[0058]
DESCRIPTION OF EMBODIMENTS
[0059]
[0060] According to
[0061] The received wireless signal may be, for example, a Bluetooth signal according to the Bluetooth standard. Bluetooth may be particularly advantageous in that it is often used in indoor positioning, where obstacles due to varying environments often occur. For example room sizes in which positioning systems are installed may differ, locations where entities of the positioning systems are installed may differ (e.g. on walls, ceiling, corners of a room, etc.), and reflective materials and signal attenuating obstacles are often present. Other signals, such as for example WiFi signals, UWB signals, or any other signals from which positioning information may be derived, may also be used.
[0062] After the signal is received by the anchors 20a, 20b, 20c, 20d respectively, each anchor 20a, 20b, 20c, 20d determines a positioning information of the mobile device 10 based on the received signal in steps 102a, 102b, 102c, 102d. In this exemplary embodiment shown in
[0063] Due to multipath propagation of signals, accuracy of algorithms to determine this positioning information depends on the environmental conditions of the positioning system and may be rather poorly, for example due to the aforementioned issues. Furthermore, accuracy may be impaired due to changing system performance over time (e.g. due to room reconstructions, furniture installation or removal, etc.). Moreover, an antenna tilt of the anchors might have been adjusted (intentionally or unintentionally). With the steps described with respect to this exemplary embodiment shown in
[0064] In steps 103a, 103b, 103c, 103d, each anchor 20a, 20b, 20c, 20d sends its respectively determined positioning information to a positioning engine 30. The positioning engine 30 is shown in this embodiment as a separate entity. However, the positioning engine 30 may also be combined with one of the anchors 20a, 20b, 20c, 20d as a common entity.
[0065] In a step 104, the positioning engine estimates a position of the mobile device 10 based on the positioning information determined by each of the anchors 20a, 20b, 20c, 20d. Details thereof are described with reference to
[0066] In a step 105, the positioning engine estimates positioning information of the mobile device 10 for each of the anchors 20a, 20b, 20c, 20d respectively. In this example, the estimated positioning information refers again to an AoA, in this case a corrected AoA for each anchor 20a, 20b, 20c, 20d based on the estimated position of the mobile device 10. The estimated positioning information is respectively determined for each of the anchors 20a, 20b, 20c, 20d based on the estimated position of the mobile device 10 and a known position of each of the anchors 20a, 20b, 20c, 20d. For this purpose, the position of each of the anchors 20a, 20b, 20c, 20d is known to the positioning engine 30. This knowledge may either be stored in a memory of the positioning engine, or may be provided to the positioning engine by each anchor, e.g. together with the determined positioning information of the mobile device or separately.
[0067] In a step 106, the positioning engine determines for each anchor 20a, 20b, 20c, 20d respectively an offset between the estimated positioning information and the determined positioning information. As offset, a difference between those pieces of positioning information, i.e., between the AoA as determined by the respective anchor 20a, 20b, 20c, 20d and the AoA as estimated by the positioning engine 30 for each respective anchor 20a, 20b, 20c, 20d is used.
[0068] In steps 107a, 107b, 107c, 107d, the positioning engine sends the respective offsets to the anchors 20a, 20b, 20c, 20d. Alternatively to the steps 106 and 107a, b, c, d, as described herein, it is also possible that the positioning engine 30 merely determines the estimated positioning information of the mobile device 10 for each anchor 20a, 20b, 20c, 20d and sends this estimated positioning information to the respective anchors 20a, 20b, 20c, 20d. In that case, each anchor 20a, 20b, 20c, 20d itself may determine the offset between the determined and the estimated positioning information.
[0069] In steps 108a, 108b, 108c, 108d, each anchor 20a, 20b, 20c, 20d trains a respective positioning algorithm of the anchor 20a, 20b, 20c, 20d. The positioning algorithm in this case comprises an adaptive machine learning algorithm which is trained based on the offset determined by the positioning engine 30. With other words, the positioning algorithm is trained with corrected results for the determined AoA. In case the AoA of a particular anchor has a significant offset, weights in the adaptive machine learning algorithm are adjusted, based on the training, to provide more accurate results when determining an AoA from a received signal. Therewith, a positioning algorithm is obtained in the anchors 20a, 20b, 20c, 20d, which has a higher accuracy for determining positioning information from a received signal of a mobile device.
[0070] For example in further steps 109a, 109b, 109c, 109d, the anchors 20a, 20b, 20c, 20d receive a wireless signal from a further mobile device 40. A positioning information, i.e., in the example described herein an AoA of each received signal, may be determined by the anchors 20a, 20b, 20c, 20d based on their trained positioning algorithms in steps 110a, 110b, 110c, 110d, thereby providing more accurate results for determining a position of the further mobile device 40 by each of the anchors 20a, 20b, 20c, 20d respectively. Nevertheless, also for the wireless signal received from the further mobile device 40, the training of the positioning algorithms may again be performed in accordance to steps 102 to 108. The positioning algorithms may permanently be improved this way, which in particular provides better results for positioning of a mobile device in case of any of the above-mentioned obstacles for positioning.
[0071] The exemplary embodiment shown in
[0072] Alternatively to the embodiment for 3-dimensional positioning described with reference to
[0073] Further alternatively, instead of AoA, the positioning information (both determined and estimated) may relate to a distance between the respective anchor 20a, 20b, 20c and the mobile device 10, or to a combination of distance and AOAs. This applies to both the 2-dimensional and 3-dimensional positioning discussed above, using, for example, the same number of pieces of positioning information from respective anchors: from a total of three anchors for 2D positioning and from a total of four anchors of 3D positioning.
[0074]
[0075] A mobile device 10 is to be located in a 3-dimensional space in this example. The mobile device 10 is to be located by each of four anchors 20a, 20b, 20c, 20d. Mobile device 10 and anchors 20a, 20b, 20c, 20d may correspond to those described with reference to
[0076] From a signal received by each anchor 20a, 20b, 20c, 20d from the mobile device 10, each anchor 20a, 20b, 20c, 20d respectively determines a respective positioning information, in this case a respective AoA, which are envisioned by arrows 50a, 50b, 50c, 50d.
[0077] From all four determined AoAs 50a, 50b, 50c, 50d, a position of the mobile device 10 is estimated using a sum of the respective determined AoAs 50a, 50b, 50c, 50d, in
[0078] As can be seen from
[0079]
[0080] On the left side in
[0081]
[0082] As can be seen in
[0083]
[0084] The anchor 20a comprises a receiver 21, which is arranged to receive a signal from a mobile device 10. Further anchors 20b, 20c are configured corresponding to the anchor 20a, description thereof is not repeated herein.
[0085] The anchor 20a further comprises a processor 22, which is configured to perform IQ sampling and preprocessing 221 on the signal received by the receiver 21. Any method known in the art of positioning signal processing may be used for IQ sampling and pre-processing in this case.
[0086] The processor 22 is further configured to run a static algorithm 222 for determining positioning information (e.g. AoA or distance) based on the received signal. The static algorithm may be a machine learning model with higher complexity. The machine learning model of the static algorithm may be a generic model, for example trained with simulation or augmented data. The machine learning model of the static algorithm could be already pre-trained for certain use cases, e.g. for an installation on a ceiling, a wall, a corner of a room, etc.) Alternatively, the static algorithm may be a super resolution algorithm. Static in this context means that it may be pre-trained, but not further trained in the field. The static algorithm is configured to determine a default positioning information based on the received signal.
[0087] The processor 22 is further configured to run an adaptive machine learning algorithm 223. The adaptive machine learning algorithm 223 may be a, compared to the static algorithm, significantly smaller adaptive machine learning algorithm, for example based on a single layer. The adaptive machine learning algorithm 223 therefore has low CPU requirements. The adaptive machine learning algorithm is configured to update weights based on offsets between positioning information determined by the anchor 20a and estimated positioning information determined by a positioning engine. Adaptive in this context means that the algorithm 223 is trainable in order to improve positioning accuracy, as discussed in detail for example with reference to
[0088] The anchor 20a further comprises a transceiver 23, which is configured to communicate with the positioning engine 30. The transceiver 23 may relate to a different communication technology than the receiver 21, or may relate to the same communication technology. Accordingly, receiver 21 and transceiver 23 may be separate devices or may be the same device.
[0089] Via the transceiver 23, the anchor 20a is configured to send the determined positioning information to the positioning engine 30. The positioning engine, for example comprising a corresponding transceiver and a further processor, is configured to receive the positioning information from the anchor 20a and corresponding positioning information from further anchors 20b, 20c, and to estimate a position of the mobile device 10 based on the received pieces of positioning information. From the estimated position of the mobile device 10, the positioning device 30 is configured to determine estimated positioning information based on a known position of the anchor 20a. The positioning engine 30 is further configured to determine an offset between the positioning information received from the anchor 20a and the positioning information estimated by the positioning engine 30, and send the offset to the anchor 20a.
[0090] The anchor 20a is then able to train the adaptive machine leaning algorithm 223 based on the obtained offset, according to the embodiments described above.
[0091] Any features of the embodiments described with reference to any of the above-discussed Figures are readily combinable with the corresponding embodiments of the other Figures.
TABLE-US-00001 LIST OF REFERENCE SIGNS 10 mobile device 20a, b, c, d anchor 21 receiver 22 processor 221 IQ sampling/pre-processing 222 static algorithm 223 adaptive machine learning algorithm 23 transceiver 30 positioning engine 40 further mobile device 50a, b, c, d arrow depicting determined AoA 60a, b, c, d arrow depicting estimated AoA 70 maximum 80a, b, c, d AoA offset 101 to 110 steps