This disclosure relates to positioning methods performed by a positioning device and a system comprising a positioning device and a positioning engine. The disclosure further relates to a corresponding positioning device, system, computer program, and computer-readable storage medium.
Positioning methods and devices for determining a position of a device, e.g. a mobile device, has become a very important and widely implemented tool in nearly all fields of industries and private life. Due to varying environments and different kinds of obstacles, an accuracy of such determined positions often may be unreliable, which in today's use of such positioning methods and devices may be a rather unsatisfying or even dangerous issue.
Therefore, it is an object of the present disclosure to improve accuracy of known positioning methods and positioning devices.
The above-mentioned object is solved by the subject-matter of the attached independent claims. Further embodiments are disclosed in the attached dependent claims.
A positioning method, performed by a positioning device, comprises the following steps:
An advantage of the positioning method presented herein is that a positioning algorithm is obtained, through training, which provides a better accuracy for determining a position of the mobile device or any other device. The positioning algorithm of the positioning device may be trained based on an offset, by which the positioning information of the mobile device, determined by the positioning device, differs from a positioning information of the mobile device estimated by the positioning engine. The positioning engine can estimate the positioning information with a higher accuracy, for example based on further data or higher complexity of the estimating of the positioning information. The positioning device can then improve the accuracy of the positioning algorithm and corresponding results by training said positioning algorithm based on said offset.
The received signal may be any signal which can be used to determine positioning information of the mobile device. The positioning information may include any information, based on which a position of the mobile device may be determined. In particular, the positioning information may be information from which a distance between the positioning device and the mobile device may be determined, and/or from which a distance and direction between the positioning device and the mobile device may be determined. Therewith, 2-dimensional and/or 3-dimensional positioning may be performed. The positioning information for both 2D and 3D positioning may be angles, distances, or a combination of both derived from the received signal. Further explanation and examples thereof are provided in the following.
The estimated positioning information may be estimated based on the positioning information provided by the positioning device to the positioning engine, and may further be based on any further information that allows an estimating of such positioning information through the positioning engine. In particular, this further information may include further information provided by further positioning devices and/or the mobile device and/or information stored by the positioning engine. For example, at least three angles or distances may be used for 2D positioning and at least four angles or distances may be used for 3D positioning. The same numbers of angles/distances may be used for a combination of angles and distances as positioning information for the respective 2D/3D positioning. Further examples thereof are provided in the following.
The positioning algorithm may be any trainable algorithm for determining the position of the mobile device based on the positioning information. In particular, the positioning algorithm may have adjustable weights, which, when the offset between the output of the algorithm and the corrected positioning information is known, are adjusted in order to improve the accuracy of results of the positioning algorithm.
According to at least one embodiment, the positioning algorithm comprises a static algorithm and an adaptive machine learning algorithm, and the 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.
An advantage thereof is that only a part of the positioning algorithm is required to be trained: the adaptive machine learning algorithm. This can improve efficiency and training speed of training the positioning algorithm. With other words, the static algorithm can be used to generally determine a default positioning information of the mobile device, the result of which can be manipulated with the trainable adaptive machine learning algorithm. Static in this context means that it may be pre-trained, but not further trained in the field. Adaptive in this context means that the algorithm is trainable in order to improve positioning accuracy
According to at least one embodiment, the static algorithm comprises a machine learning model with a higher complexity than the adaptive machine learning model, or the static algorithm comprises a super resolution algorithm.
This way, the adaptive machine learning model may in particular be kept comparatively simple. An advantage thereof is that efficiency and speed of training the positioning algorithm may further be improved.
According to at least one embodiment, the adaptive machine learning algorithm may comprise a stochastic gradient descent linear regression model.
The stochastic gradient descent linear regression model is an example for a particularly suitable machine learning model to be used in the positioning algorithm. Results of determining a position using the trained positioning algorithm are particularly accurate when the stochastic gradient descent linear regression model is used.
According to an advantageous embodiment, 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.
According to at least one embodiment, the positioning information of the mobile device comprises an angle of arrival of the received signal and/or a distance between the mobile device and the positioning device.
The distance between the mobile device and the positioning device and/or the angle of arrival of the received signal may be used when 2-dimensional positioning, i.e., determining a location of the mobile device on a plane, and/or 3-dimensional, i.e., determining a location of the mobile device in a 3-dimensional space, is to be performed. Both distance and angle of arrival of the received signal may be obtained according to any mechanism known in the art.
According to at least one embodiment, the received signal is a wireless communication technology signal.
Any wireless communication technology signal may be used. For example, a Bluetooth signal, a WLAN signal, an UWB signal, any telecommunication signal, IEEE signal, or others known in the art, from which a distance and/or an angle of arrival may be determined, may be used in that context.
A positioning device comprises a receiver and a processor, wherein:
Embodiments and advantages of the positioning device correspond, in general, to those discussed above with regard to the positioning method performed by the positioning device. Details thereof will not be repeated herein.
A positioning method, which is performed by a system comprising a positioning device and a positioning engine, comprises:
The positioning device in the positioning method performed by the system may be, in particular, the positioning device described above. Embodiments and advantages of the positioning method performed by the system correspond, in general, to the above-mentioned embodiments of the positioning method performed by the positioning device and will not be repeated herein.
The offset between the determined positioning information determined by the positioning device and the estimated positioning information determined by the positioning engine may be received by the positioning device either in form of the offset directly from the positioning engine, or the estimated positioning information may be received by the positioning device from the positioning engine, and the positioning device itself obtains the offset from the estimated and the determined positioning information.
The estimated position of the mobile device relates to a ground truth location of the mobile device in the 2-dimensional plane or 3-dimensional space, in which the mobile device is to be located. According to the positioning method performed by the system, this position is estimated 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. In particular in the case of 2-dimensional positioning, the positioning information determined by two further positioning devices may be sufficient, such that positioning information of the mobile device determined by three positioning devices may be sufficient. In the case of 3-dimensional positioning, a positioning information of four positioning devices (i.e., the positioning device described above and three further positioning devices) may be sufficient to determine the estimated position. An advantage herein is that a reliable and significant offset between the estimated positioning information and the determined positioning information may be obtained.
The positioning engine may be arranged in a separate device, which communicates with the positioning device, or may be together with the positioning device in a common entity. To derive the estimated positioning information from the estimated position, the positioning engine knows the position of the positioning devices.
According to at least one advantageous embodiment, 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 device.
A system comprising a positioning device as mentioned above and a positioning engine, wherein the positioning engine is 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 device.
A computer program comprises instructions which, when executed by a computer, cause the computer to perform any of the methods discussed above, and/or their respective embodiments.
A computer-readable storage medium comprises the computer program mentioned above.
Embodiments and advantages of the system, the computer program, and the computer-readable storage medium correspond, in general, to the embodiments and corresponding advantages discussed above and will not be repeated herein.
Advantages and embodiments, which are described with respect to any of the above methods, device, or system, may be applied to any of the other aspects accordingly.
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.
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.
In the figures:
According to
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.
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
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
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.
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
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.
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.
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.
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.
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.
The exemplary embodiment shown in
Alternatively to the embodiment for 3-dimensional positioning described with reference to
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.
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
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.
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
As can be seen from
On the left side in
As can be seen in
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.
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.
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.
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
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.
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.
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.
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.
Number | Date | Country | Kind |
---|---|---|---|
22213838.0 | Dec 2022 | EP | regional |