Positioning method and device, electronic equipment and storage medium

By detecting the change of the positioning signal in the positioning system and actively sending the first positioning signal, combining the ultra-wideband signal and the inertial signal for fusion processing, the problem of difficulty in providing real-time and high-precision positioning is solved, and an efficient and real-time positioning system is realized.

CN119629730APending Publication Date: 2025-03-14BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311179605.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-13
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

The existing UWB technology and inertial positioning systems are difficult to provide real-time and high-precision position information when meeting the positioning needs in the fields of industrial automation, autonomous driving and position-based services.

Method used

By actively sending the changed first positioning signal to the electronic device when detecting the change of the positioning signal in the transmission device, the electronic device performs positioning processing to obtain position information after receiving the first positioning signal. This method combines ultra-wideband signals and inertial signals to fuse, and uses a Kalman filter or a particle filter to fuse the position information.

Benefits of technology

Real-time positioning is realized, real-time and accuracy of position information is improved, unnecessary repeated calculations are reduced, and the efficiency of the positioning system is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119629730A_ABST
    Figure CN119629730A_ABST
Patent Text Reader

Abstract

The invention relates to a positioning method and device, electronic equipment and a storage medium. The method comprises the steps that a first positioning signal is received, the first positioning signal is sent when a sending device detects that the first positioning signal is different from a second positioning signal, and the second positioning signal is a positioning signal sent by the sending device last time; and performing positioning processing based on the first positioning signal to obtain position information. According to the positioning mode, the latest positioning signals can be received in time, the obtained position information has high real-time performance, real-time positioning is achieved, the position information does not need to be repeatedly obtained when the positioning signals are not changed, and therefore unnecessary repeated calculation is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of positioning technology, and in particular to a positioning method, device, electronic device and storage medium. Background Art

[0002] Real-time Location Systems (RTLS) have been widely used in indoor positioning and tracking applications. UWB (Ultra-wideband) technology and inertial positioning systems are commonly used RTLS technologies. UWB technology can operate in a wide spectrum and can provide accurate and highly reliable positioning. Inertial positioning systems use sensors such as accelerometers to infer the position of objects and can achieve robust tracking solutions. However, with the increasing demand for positioning in various fields, such as industrial automation, autonomous driving, and location-based services, UWB technology or inertial positioning systems are difficult to meet user needs. Summary of the invention

[0003] In order to overcome the problems existing in the related art, the present disclosure provides a positioning method, device, electronic device and storage medium.

[0004] According to a first aspect of an embodiment of the present disclosure, a positioning method is provided, which is applied to an electronic device, and the method includes:

[0005] receiving a first positioning signal, where the first positioning signal is sent by a sending device when detecting that the first positioning signal is different from a second positioning signal, and the second positioning signal is a positioning signal sent last by the sending device;

[0006] Positioning processing is performed based on the first positioning signal to obtain position information.

[0007] In some embodiments, the receiving the first positioning signal includes:

[0008] Calling a signal receiving thread to receive the first positioning signal;

[0009] The performing positioning processing based on the first positioning signal to obtain position information includes:

[0010] Calling a positioning algorithm execution thread to perform positioning processing based on the first positioning signal to obtain the position information;

[0011] The signal receiving thread and the positioning algorithm executing thread are executed asynchronously.

[0012] In some embodiments, the calling of the positioning algorithm execution thread and performing positioning processing based on the first positioning signal to obtain the position information includes:

[0013] When the signal receiving thread is called to receive multiple positioning signals in sequence, the positioning algorithm execution thread is called to perform positioning processing based on each positioning signal in sequence according to the time sequence in which the multiple positioning signals are received, so as to obtain the position information corresponding to the positioning signal.

[0014] In some embodiments, the first positioning signal includes an ultra-wideband signal and an inertial signal, wherein the inertial signal includes acceleration information and direction information, and performing positioning processing based on the first positioning signal to obtain position information includes:

[0015] Performing positioning processing based on the ultra-wideband signal to obtain first position information;

[0016] Performing positioning processing based on the inertial signal to obtain second position information;

[0017] The first location information and the second location information are merged to obtain the location information.

[0018] In some embodiments, the fusing the first location information and the second location information to obtain the location information includes:

[0019] Invoke a Kalman filter to fuse the first position information and the second position information to obtain the position information; or,

[0020] A particle filter is called to fuse the first position information and the second position information to obtain the position information.

[0021] In some embodiments, the first positioning signal includes at least one of a first ultra-wideband signal and a first inertial signal, wherein the inertial signal includes acceleration information and direction information;

[0022] The performing positioning processing based on the first positioning signal to obtain position information includes:

[0023] In response to receiving the first ultra-wideband signal, performing positioning processing based on the first ultra-wideband signal and a second inertial signal to obtain the position information, wherein the second inertial signal is the most recently received inertial signal; or

[0024] In response to receiving the first inertial signal, performing positioning processing based on a second ultra-wideband signal and the first inertial signal to obtain the position information, wherein the second ultra-wideband signal is the most recently received ultra-wideband signal; or

[0025] In response to receiving the first ultra-wideband signal and the first inertial signal, positioning processing is performed based on the first ultra-wideband signal and the first inertial signal to obtain the position information.

[0026] In some embodiments, performing positioning processing based on the first positioning signal to obtain location information includes:

[0027] determining a difference between the first positioning signal and the second positioning signal;

[0028] When the difference meets a preset condition, positioning processing is performed based on the first positioning signal to obtain the position information.

[0029] In some embodiments, the method further comprises:

[0030] calling a callback function to push the location information to a preset application, and displaying the location information through the preset application; or,

[0031] The location information is pushed to the preset application through a notification message, and the location information is displayed through the preset application.

[0032] According to a second aspect of an embodiment of the present disclosure, a positioning method is provided, which is applied to a sending device, and the method includes:

[0033] Detecting that the first positioning signal is different from the second positioning signal, sending the first positioning signal to the electronic device, where the second positioning signal is the positioning signal last sent to the electronic device;

[0034] The electronic device is used to, in response to receiving the first positioning signal, perform positioning processing based on the first positioning signal to obtain location information.

[0035] According to a third aspect of an embodiment of the present disclosure, a positioning device is provided, which is configured in an electronic device, and the device includes:

[0036] a signal acquisition module, configured to receive a first positioning signal, where the first positioning signal is sent by a sending device when it detects that the first positioning signal is different from a second positioning signal, where the second positioning signal is the positioning signal sent last by the sending device;

[0037] The position acquisition module is configured to perform positioning processing based on the first positioning signal to obtain position information.

[0038] In some embodiments, the signal acquisition module is configured to:

[0039] Calling a signal receiving thread to receive the first positioning signal;

[0040] The location acquisition module is configured as follows:

[0041] Calling a positioning algorithm execution thread to perform positioning processing based on the first positioning signal to obtain the position information;

[0042] The signal receiving thread and the positioning algorithm executing thread are executed asynchronously.

[0043] In some embodiments, the location acquisition module is configured to:

[0044] When the signal receiving thread is called to receive multiple positioning signals in sequence, the positioning algorithm execution thread is called to perform positioning processing based on each positioning signal in sequence according to the time sequence in which the multiple positioning signals are received, so as to obtain the position information corresponding to the positioning signal.

[0045] In some embodiments, the first positioning signal includes an ultra-wideband signal and an inertial signal, wherein the inertial signal includes acceleration information and direction information, and the position acquisition module is configured as follows:

[0046] Performing positioning processing based on the ultra-wideband signal to obtain first position information;

[0047] Performing positioning processing based on the inertial signal to obtain second position information;

[0048] The first location information and the second location information are merged to obtain the location information.

[0049] In some embodiments, the location acquisition module is configured to:

[0050] Invoke a Kalman filter to fuse the first position information and the second position information to obtain the position information; or,

[0051] A particle filter is called to fuse the first position information and the second position information to obtain the position information.

[0052] In some embodiments, the first positioning signal includes at least one of a first ultra-wideband signal and a first inertial signal, wherein the inertial signal includes acceleration information and direction information;

[0053] The location acquisition module is configured as follows:

[0054] In response to receiving the first ultra-wideband signal, performing positioning processing based on the first ultra-wideband signal and a second inertial signal to obtain the position information, wherein the second inertial signal is the most recently received inertial signal; or

[0055] In response to receiving the first inertial signal, performing positioning processing based on a second ultra-wideband signal and the first inertial signal to obtain the position information, wherein the second ultra-wideband signal is the most recently received ultra-wideband signal; or

[0056] In response to receiving the first ultra-wideband signal and the first inertial signal, positioning processing is performed based on the first ultra-wideband signal and the first inertial signal to obtain the position information.

[0057] In some embodiments, the location acquisition module is configured to:

[0058] determining a difference between the first positioning signal and the second positioning signal;

[0059] When the difference meets a preset condition, positioning processing is performed based on the first positioning signal to obtain the position information.

[0060] In some embodiments, the apparatus further comprises:

[0061] a location display module, configured to call a callback function to push the location information to a preset application, and display the location information through the preset application; or,

[0062] The location display module is configured to push the location information to the preset application via a notification message, and display the location information via the preset application.

[0063] According to a fourth aspect of an embodiment of the present disclosure, a positioning device is provided, which is configured in a sending device, and the device includes:

[0064] a signal sending module, configured to detect that the first positioning signal is different from the second positioning signal, and send the first positioning signal to the electronic device, where the second positioning signal is the positioning signal sent to the electronic device last time;

[0065] The electronic device is used to, in response to receiving the first positioning signal, perform positioning processing based on the first positioning signal to obtain location information.

[0066] According to a fifth aspect of an embodiment of the present disclosure, there is provided an electronic device, including:

[0067] processor;

[0068] a memory for storing processor-executable instructions;

[0069] The processor is configured to execute the method as described in the first aspect of the embodiment of the present disclosure, or the processor is configured to execute the method as described in the second aspect of the embodiment of the present disclosure.

[0070] According to the sixth aspect of an embodiment of the present disclosure, a non-temporary computer-readable storage medium is provided. When the instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the method described in the first aspect of the embodiment of the present disclosure, or the electronic device is enabled to execute the method described in the second aspect of the embodiment of the present disclosure.

[0071] The above method of the present disclosure has the following beneficial effects:

[0072] According to the method provided by the embodiments of the present disclosure, when the sending device detects that the positioning signal has changed, the sending device actively sends the changed first positioning signal to the electronic device. In response to receiving the first positioning signal, the electronic device performs positioning processing based on the first positioning signal to obtain position information. The electronic device can receive the latest positioning signal in a timely manner, and the acquired position information has high real-time performance, thereby realizing real-time positioning. Moreover, when the positioning signal has not changed, there is no need to repeatedly acquire the position information, thereby reducing unnecessary repeated calculations.

[0073] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0074] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0075] Figure 1 is a flow chart of a positioning method according to an exemplary embodiment;

[0076] Figure 2 is a flow chart showing another positioning method according to an exemplary embodiment;

[0077] Figure 3 is a flow chart showing another positioning method according to an exemplary embodiment;

[0078] Figure 4 is a flow chart showing another positioning method according to an exemplary embodiment;

[0079] Figure 5 is a flow chart showing another positioning method according to an exemplary embodiment;

[0080] Figure 6 is a block diagram of a positioning device according to an exemplary embodiment;

[0081] Figure 7 is a block diagram of another positioning device according to an exemplary embodiment;

[0082] Figure 8 It is a block diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION

[0083] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Instead, they are merely examples of devices and methods consistent with some aspects of the present invention as detailed in the appended claims.

[0084] In the related technology, independent UWB technology or independent inertial positioning system is used for real-time positioning. Positioning based on UWB technology can calculate the position information by using methods such as time of flight (TOF), time of arrival (TOA), time difference of arrival (TDOA), received signal strength (RSS), and angle of arrival (AOA). Positioning based on inertial positioning system uses sensor data such as acceleration and direction to calculate the position information that changes over time.

[0085] In addition, in the related art, positioning signals are usually scanned periodically. For example, UWB signals or sensor data are collected periodically (for example, every 100 milliseconds), and then the positioning algorithm is run to estimate the location information and update the location information to the user. This periodic acquisition of UWB signals or sensor data will introduce delays in location updates.

[0086] In another related technology, adaptive scanning rate is used to achieve a balance between positioning delay and computing load. That is, the scanning period is dynamically adjusted according to indicators such as the tag movement speed, and faster moving tags are scanned more frequently, while static tags are scanned less frequently. However, this method still relies on periodic scanning and cannot provide real-time location updates.

[0087] In response to the technical problems in the above-mentioned related technologies, the embodiments of the present disclosure provide a positioning method, in which the sending device actively sends a changed first positioning signal to the electronic device when detecting a change in the positioning signal, and the electronic device responds to receiving the first positioning signal and performs positioning processing based on the first positioning signal to obtain location information. For the electronic device, the electronic device does not need to periodically scan the positioning signal, but the sending device actively sends it to the electronic device when the positioning signal changes, thereby improving the real-time acquisition of location information and reducing delays.

[0088] The disclosed embodiments are executed by an electronic device and a sending device, and the electronic device may be a terminal or a server. When the electronic device is a terminal, the sending device sends a positioning signal to the terminal, and when the electronic device is a server, the sending device sends a positioning signal to the server. The terminal may be a mobile phone, a tablet computer, a laptop computer, a wearable device, a vehicle-mounted terminal, and the server may be an application server or other server of an application installed in the terminal.

[0089] The positioning signal includes a UWB signal and / or an inertial signal. When the positioning signal includes a UWB signal, the sending device is an anchor point at a fixed position or a positioning tag. For example, the anchor point can be a base station or other fixed device. When the sending device is a positioning tag, the positioning tag receives the UWB signal sent by the anchor point, and then the positioning tag sends the UWB signal to the electronic device. When the positioning signal includes an inertial signal, the inertial signal is collected by an inertial sensor, and the inertial sensor is located in the positioning tag, that is, the sending device is a positioning tag at this time. Optionally, when collecting inertial signals, the inertial sensor can collect at a high rate, for example, at a rate of 100 Hz, so as to obtain the latest inertial signals more quickly.

[0090] Figure 1 is a flowchart of a positioning method according to an exemplary embodiment, which is executed by an electronic device, see Figure 1 , the method comprises the following steps:

[0091] Step S101: receiving a first positioning signal. The first positioning signal is sent by a sending device when it detects that the first positioning signal is different from a second positioning signal. The second positioning signal is the positioning signal sent last by the sending device.

[0092] During the positioning process, the positioning tag can be in a stationary state or in a moving state. When the positioning tag is in a stationary state, the positioning signal does not change, and when the positioning tag is in a moving state, the positioning signal changes. In the embodiment of the present disclosure, the sending device detects whether the current positioning signal has changed compared to the second positioning signal sent last time. When the current positioning signal changes compared to the second positioning signal, it means that the positioning tag has moved and the location information needs to be updated. Therefore, the current positioning signal is used as the first positioning signal, and the sending device sends the first positioning signal to the electronic device, and the electronic device receives the first positioning signal; when the latest positioning signal has not changed compared to the second positioning signal, it means that the positioning tag has not moved and the location information does not need to be updated, and the sending device does not need to send the current positioning signal to the electronic device.

[0093] The positioning signal is used to determine the position of the positioning tag. When the positioning tag is located in an electronic device, the positioning signal is used to determine the position of the electronic device. The positioning signal includes at least one of an ultra-wideband (UWB) signal and an inertial signal. The ultra-wideband signal is a signal collected based on a fixed anchor point. The inertial signal is a signal collected based on an inertial sensor. The inertial signal includes acceleration information and direction information.

[0094] Optionally, when the direction information changes and other signals or information all change, it means that the positioning tag has changed direction, but its location has not changed. Therefore, when the direction information in the current positioning signal changes and other information all changes, it is determined that the current positioning signal has not changed compared to the second positioning signal.

[0095] Step S102: Perform positioning processing based on the first positioning signal to obtain position information.

[0096] After receiving the first positioning signal, the electronic device uses a suitable positioning algorithm to perform positioning processing on the first positioning signal to obtain the latest position information. The position information may be coordinates, for example, the position information is longitude and latitude; or the position information is a detailed location, for example, the detailed location is ×× District ×× Community, ×× City, ×× Province; or the position information may also be expressed as other content, and the position information can indicate the location of the positioning tag.

[0097] In addition, for the sending device, the sending device detects that the first positioning signal is different from the second positioning signal, and sends the first positioning signal to the electronic device, and the second positioning signal is the positioning signal sent to the electronic device last time. Then, the electronic device executes the above steps S101 and S102.

[0098] According to the method provided by the embodiments of the present disclosure, when the sending device detects that the positioning signal has changed, the sending device actively sends the changed first positioning signal to the electronic device. In response to receiving the first positioning signal, the electronic device performs positioning processing based on the first positioning signal to obtain position information. The electronic device can receive the latest positioning signal in a timely manner, and the acquired position information has high real-time performance, thereby realizing real-time positioning. Moreover, when the positioning signal has not changed, there is no need to repeatedly acquire the position information, thereby reducing unnecessary repeated calculations.

[0099] In some embodiments, the electronic device is configured with an event-driven model. After receiving the first positioning signal, the electronic device triggers the event-driven model. In response to the event-driven model being triggered, positioning processing is performed based on the first positioning signal to obtain location information. Other positioning signals can also be added through the configured event-driven model, providing flexibility in adding other positioning signals.

[0100] In some embodiments, the first positioning signal includes at least one of an ultra-wideband signal and an inertial signal. When the first positioning signal includes the ultra-wideband signal and the inertial signal, the electronic device performs positioning processing based on the first positioning signal to obtain the position information. Figure 2 The embodiment shown.

[0101] Figure 2 is a flowchart of another positioning method according to an exemplary embodiment, which is executed by an electronic device, see Figure 2 , the method comprises the following steps:

[0102] Step S201: Perform positioning processing based on the ultra-wideband signal to obtain first position information.

[0103] The ultra-wideband signal includes a signal collected by at least one anchor point. Optionally, the first position information may be determined based on the ultra-wideband signal using algorithms such as TOF, TOA, TDOA, RSS and AOA.

[0104] In some embodiments, a TOF algorithm is used to determine the first position information, that is, when an ultra-wideband signal sent by an anchor point is received, the flight time data of the ultra-wideband signal is calculated, and the flight time data refers to the time difference when the data packet is transmitted between the anchor point and the positioning tag, and then the distance between the positioning tag and the anchor point is determined based on the flight time, and the position of the anchor point is fixed. Similarly, the distance between the positioning tag and at least two other anchor points is determined, so that the first position information of the positioning tag is determined according to the distance between the positioning tag and at least three anchor points. In this algorithm, in order to accurately calculate the flight time data, the clocks of the anchor point and the positioning tag need to be consistent.

[0105] In some embodiments, a TOA algorithm is used to determine the first position information, that is, when an ultra-wideband signal sent by an anchor point is received, the duration of the ultra-wideband signal from the anchor point to the positioning tag is calculated, and the distance between the anchor point and the positioning tag is determined based on the duration. Similarly, the distance between the positioning tag and at least two other anchor points is determined. Based on the distance between the positioning tag and at least three anchor points, the first position information of the positioning tag is determined.

[0106] It should be noted that in step S201, only the TOF algorithm and the TOA algorithm are described in detail. In fact, when determining the first position information, algorithms such as TDOA, RSS and AOA can also be used. Other positioning algorithms will not be described in detail here.

[0107] Step S202: Perform positioning processing based on the inertial signal to obtain second position information.

[0108] In the disclosed embodiment, the inertial signal includes acceleration information and direction information. The acceleration information is used to characterize the acceleration of the positioning tag, and the direction information is used to characterize the direction of the positioning tag.

[0109] Since the acceleration information and direction information represent the posture and current moving speed of the positioning tag, if the location information of the positioning tag needs to be determined, it is necessary to consider the acceleration information and direction information on the basis of the historical location information of the positioning tag, that is, to determine the second location information based on the historical location information and the inertial signal. Among them, the historical location information is obtained by positioning processing based on the second positioning signal, and the method for determining the historical location information is the same as the method for determining the current location information, which will not be repeated here.

[0110] It should be noted that the embodiment of the present disclosure is only described by taking the example of first executing step S201 and then executing step S202. In another embodiment, step S202 may be executed first and then step S201.

[0111] Step S203: merge the first location information and the second location information to obtain location information.

[0112] The first location information and the second location information can represent the location of the positioning tag, but considering that UWB technology is more reliable for long-distance positioning and the inertial positioning system is more reliable for short-distance positioning, in order to obtain more accurate location information, the first location information and the second location information are fused to obtain the final location information.

[0113] In some embodiments, a Kalman filter is called to fuse the first position information and the second position information to obtain the position information. Alternatively, a particle filter is called to fuse the first position information and the second position information to obtain the position information. Of course, in another embodiment, other fusion methods can be used to fuse the first position information and the second position information, for example, the middle position between the first position information and the second position information is determined as the final position information.

[0114] The method provided by the embodiment of the present disclosure, on the basis of real-time positioning, fuses the first position information determined based on the ultra-wideband signal and the second position information determined based on the inertial signal to obtain the final position information. The ultra-wideband signal and the inertial signal complement each other, thereby improving the accuracy of the final position information.

[0115] In some embodiments, the first positioning signal includes at least one of an ultra-wideband signal and an inertial signal, the ultra-wideband signal in the first positioning signal is used as the first ultra-wideband signal, and the inertial signal in the first positioning signal is used as the first inertial signal.

[0116] Optionally, in the case where the first positioning signal includes a first ultra-wideband signal and a first inertial signal, the electronic device performs positioning processing based on the first ultra-wideband signal and the first inertial signal in response to receiving the first ultra-wideband signal and the first inertial signal to obtain position information. For an implementation method of determining the position information, refer to the above Figure 2 The embodiment shown.

[0117] Optionally, when the first positioning signal includes the first ultra-wideband signal, it indicates that the inertial signal has not been updated, and the inertial signal is still the second inertial signal, which is the latest received inertial signal. Therefore, in response to receiving the first ultra-wideband signal, the electronic device performs positioning processing based on the first ultra-wideband signal and the second inertial signal to obtain the position information. The implementation method of determining the position information is described above. Figure 2 The embodiment shown.

[0118] Optionally, when the first positioning signal includes the first inertial signal, it indicates that the first ultra-wideband signal has not been updated, and the ultra-wideband signal is still the second ultra-wideband signal, which is the latest ultra-wideband signal received. Therefore, in response to receiving the first inertial signal, the electronic device performs positioning processing based on the second ultra-wideband signal and the first inertial signal to obtain the position information. The implementation method of determining the position information is described above. Figure 2 The embodiment shown.

[0119] In some embodiments, an event processor is provided in the electronic device, which regards the received positioning signal as an event. The event processor includes a signal receiving thread and a positioning algorithm execution thread. The signal receiving thread and the positioning algorithm execution thread are executed asynchronously, that is, while the positioning signal is received through the signal receiving thread, positioning processing can also be performed through the positioning algorithm execution thread.

[0120] Figure 3 is a flowchart of another positioning method according to an exemplary embodiment, which is executed by an electronic device, see Figure 3 , the method comprises the following steps:

[0121] Step S301, calling a signal receiving thread to receive a first positioning signal.

[0122] Step S302: calling the positioning algorithm execution thread, performing positioning processing based on the first positioning signal, and obtaining position information.

[0123] In some embodiments, when the signal receiving thread is called and multiple positioning signals are received in sequence, the positioning algorithm execution thread is called to perform positioning processing based on each positioning signal in sequence according to the time sequence in which the multiple positioning signals are received, and obtain the position information corresponding to the positioning signal. In other words, the speed of processing the positioning signal may be slower than the speed of receiving the positioning signal, and multiple positioning signals may be queued for processing. In this case, the received positioning signals are processed in sequence according to the time sequence in which they are received. Among them, the first positioning signal is any positioning signal among the multiple positioning signals.

[0124] Of course, in some embodiments, in order to further improve the real-time performance of positioning, after receiving the first positioning signal, if there are still unprocessed positioning signals, positioning processing is performed based on the most recently received first positioning signal, and the previously unprocessed positioning signals are discarded to obtain the latest location information more quickly.

[0125] In some embodiments, the positioning algorithm execution thread may include three separate threads, namely a first positioning thread, a second positioning thread and a fusion thread, the first positioning thread is used to perform positioning processing on ultra-wideband signals, the second positioning thread is used to perform positioning processing on inertial signals, and the fusion thread is used to fuse the two obtained position information.

[0126] It should be noted that the positioning algorithm execution thread can use the above Figure 2 The illustrated implementation performs positioning processing on the first positioning signal to obtain position information.

[0127] In the method provided by the embodiment of the present disclosure, the signal receiving thread and the positioning algorithm execution thread are asynchronously executed threads. In the case of asynchronous execution, while receiving the positioning signal, the received positioning signal can also be processed, which can improve the processing speed, obtain the location information more quickly, further improve the real-time performance of the positioning, and reduce the delay.

[0128] In some embodiments, considering that the change of the first positioning signal may be smaller than that of the second positioning signal, when the positioning signal changes slightly, the position information finally obtained by positioning may remain unchanged, because the conditions for the change of the positioning signal can be restricted as needed.

[0129] Figure 4 is a flowchart of another positioning method according to an exemplary embodiment, which is executed by an electronic device, see Figure 4 , the method comprises the following steps:

[0130] Step S401: receiving a first positioning signal.

[0131] Step S402: determine the difference between the first positioning signal and the second positioning signal.

[0132] The difference between the first positioning signal and the second positioning signal represents the degree of change in the position of the positioning tag. When the difference is large, it means that the position of the positioning tag has changed greatly, and when the difference is small, it means that the position of the positioning tag has changed little.

[0133] In some embodiments, the positioning signal includes an ultra-wideband signal and an inertial signal, and the inertial signal includes acceleration information and direction information. When only the direction information changes, it can be considered that the position represented by the positioning signal has not changed, and when the ultra-wideband signal and / or the acceleration information changes, it can be considered that the position guaranteed by the positioning signal has changed. Therefore, determining the difference between the first positioning signal and the second positioning signal, that is, determining the difference between the first ultra-wideband signal included in the first positioning signal and the second ultra-wideband signal included in the second positioning signal, and / or determining the difference between the acceleration information included in the first positioning signal and the second acceleration information included in the second positioning signal.

[0134] Optionally, determining the difference between a first ultra-wideband signal included in the first positioning signal and a second ultra-wideband signal included in the second positioning signal includes: determining a difference between flight time data corresponding to the first ultra-wideband signal and flight time data corresponding to the second ultra-wideband signal.

[0135] Optionally, determining the difference between acceleration information included in the first positioning signal and second acceleration information included in the second positioning signal includes: determining a difference between the first acceleration information and the second acceleration information.

[0136] Step S403: When the difference meets a preset condition, positioning processing is performed based on the first positioning signal to obtain position information.

[0137] The preset condition is a preset restriction condition. For example, for an ultra-wideband signal, the preset condition is a first preset threshold. When the difference between the flight time data corresponding to the first ultra-wideband signal and the flight time data corresponding to the second ultra-wideband signal is greater than the first preset threshold, it is determined that the difference meets the preset condition. For acceleration information, the preset condition is a second preset threshold. When the difference between the first acceleration information and the second acceleration information is greater than the second preset threshold, it is determined that the difference meets the preset condition.

[0138] In the embodiment of the present disclosure, by limiting the difference between the first positioning signal and the second positioning signal to meet a preset condition, the received positioning signals are screened, which can reduce the number of positioning signals that need to be processed, avoid repeated calculations, and further control the real-time responsiveness of positioning.

[0139] In the disclosed embodiment, when the electronic device is a terminal, location information may also be displayed.

[0140] Figure 5 is a flowchart of another positioning method according to an exemplary embodiment, which is executed by an electronic device, see Figure 5 , the method comprises the following steps:

[0141] Step S501: receiving a first positioning signal.

[0142] Step S502: Perform positioning processing based on the first positioning signal to obtain position information.

[0143] Step S503: displaying the location information via a preset application.

[0144] In some embodiments, the callback function is called to push the location information to the preset application, and then the location information is displayed by the preset application. Alternatively, the location information is pushed to the preset application via a notification message, and then the location information is displayed by the preset application.

[0145] For example, the preset application is a food delivery application. When the user orders food delivery using the food delivery application, the user can use the method provided in the embodiment of the present disclosure to perform positioning, obtain location information, and then push it to the food delivery application, which displays the location information.

[0146] In addition, in another embodiment, when the electronic device is a server, the server may also push the location information to a preset application installed in the terminal, and the location information may be displayed through the preset application.

[0147] Figure 6 is a block diagram of a positioning device according to an exemplary embodiment, which is configured in an electronic device, see Figure 6 , the device comprises:

[0148] The signal acquisition module 601 is configured to receive a first positioning signal, where the first positioning signal is sent by a sending device when it detects that the first positioning signal is different from the second positioning signal, and the second positioning signal is the positioning signal sent by the sending device last time;

[0149] The position acquisition module 602 is configured to perform positioning processing based on the first positioning signal to obtain position information.

[0150] In some embodiments, the signal acquisition module 601 is configured to:

[0151] Calling a signal receiving thread to receive a first positioning signal;

[0152] The location acquisition module 602 is configured to:

[0153] Calling the positioning algorithm execution thread to perform positioning processing based on the first positioning signal to obtain position information;

[0154] Among them, the signal receiving thread and the positioning algorithm execution thread are executed asynchronously.

[0155] In some embodiments, the location acquisition module 602 is configured to:

[0156] When the signal receiving thread is called to receive multiple positioning signals in sequence, the positioning algorithm execution thread is called to perform positioning processing based on each positioning signal in sequence according to the time sequence in which the multiple positioning signals are received, so as to obtain the position information corresponding to the positioning signal.

[0157] In some embodiments, the first positioning signal includes an ultra-wideband signal and an inertial signal, wherein the inertial signal includes acceleration information and direction information, and the position acquisition module 602 is configured to:

[0158] Performing positioning processing based on the ultra-wideband signal to obtain first position information;

[0159] Performing positioning processing based on the inertial signal to obtain second position information;

[0160] The first location information and the second location information are fused to obtain location information.

[0161] In some embodiments, the location acquisition module 602 is configured to:

[0162] Calling a Kalman filter to fuse the first position information and the second position information to obtain position information; or,

[0163] A particle filter is called to fuse the first position information and the second position information to obtain position information.

[0164] In some embodiments, the first positioning signal includes at least one of a first ultra-wideband signal and a first inertial signal, wherein the inertial signal includes acceleration information and direction information;

[0165] The location acquisition module 602 is configured to:

[0166] In response to receiving the first ultra-wideband signal, performing positioning processing based on the first ultra-wideband signal and the second inertial signal to obtain position information, wherein the second inertial signal is the most recently received inertial signal; or,

[0167] In response to receiving the first inertial signal, performing positioning processing based on the second ultra-wideband signal and the first inertial signal to obtain position information, wherein the second ultra-wideband signal is the most recently received ultra-wideband signal; or,

[0168] In response to receiving the first ultra-wideband signal and the first inertial signal, positioning processing is performed based on the first ultra-wideband signal and the first inertial signal to obtain position information.

[0169] In some embodiments, the location acquisition module 602 is configured to:

[0170] determining a difference between the first positioning signal and the second positioning signal;

[0171] When the difference meets a preset condition, positioning processing is performed based on the first positioning signal to obtain position information.

[0172] In some embodiments, the apparatus further comprises:

[0173] a location display module configured to call a callback function to push the location information to a preset application and display the location information through the preset application; or,

[0174] The location display module is configured to push the location information to a preset application via a notification message and display the location information via the preset application.

[0175] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0176] Figure 7 is a block diagram of another positioning device according to an exemplary embodiment, which is configured in a sending device, see Figure 7 , the device comprises:

[0177] The signal sending module 701 is configured to detect that the first positioning signal is different from the second positioning signal, and send the first positioning signal to the electronic device, where the second positioning signal is the positioning signal sent to the electronic device last time;

[0178] The electronic device is used to respond to receiving the first positioning signal and perform positioning processing based on the first positioning signal to obtain position information.

[0179] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0180] An embodiment of the present disclosure further provides an electronic device, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to execute the positioning method in the above embodiment.

[0181] Figure 8 is a block diagram of an electronic device 800 according to an exemplary embodiment.

[0182] Reference Figure 8, the electronic device 800 may include one or more of the following components: a processing component 802 , a memory 804 , a power component 806 , a multimedia component 808 , an audio component 810 , an input / output (I / O) interface 812 , a sensor component 814 , and a communication component 816 .

[0183] The processing component 802 generally controls the overall operation of the electronic device 800, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the above-mentioned method. In addition, the processing component 802 may include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0184] The memory 804 is configured to store various types of data to support operations on the electronic device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phone book data, messages, pictures, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0185] The power supply component 806 provides power to the various components of the electronic device 800. The power supply component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 800.

[0186] The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the electronic device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.

[0187] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), and when the electronic device 800 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 804 or sent via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.

[0188] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: home button, volume button, start button, and lock button.

[0189] The sensor assembly 814 includes one or more sensors for providing various aspects of status assessment for the electronic device 800. For example, the sensor assembly 814 can detect the open / closed state of the electronic device 800, the relative positioning of the components, such as the display and keypad of the electronic device 800, and the sensor assembly 814 can also detect the position change of the electronic device 800 or a component of the electronic device 800, the presence or absence of contact between the user and the electronic device 800, the orientation or acceleration / deceleration of the electronic device 800, and the temperature change of the electronic device 800. The sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 814 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0190] The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0191] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above methods.

[0192] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, and the instructions can be executed by a processor 820 of an electronic device 800 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0193] The embodiments of the present disclosure also provide a non-transitory computer-readable storage medium. When the instructions in the storage medium are executed by a processor of an electronic device, the electronic device can execute the positioning method in the above embodiment.

[0194] Those skilled in the art will readily appreciate other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses or adaptations of the present invention that follow the general principles of the present invention and include common knowledge or customary techniques in the art that are not disclosed in this disclosure. The specification and examples are to be considered exemplary only, and the true scope and spirit of the present invention are indicated by the following claims.

[0195] It should be understood that the present invention is not limited to the exact construction that has been described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.

Claims

1. A positioning method, applied to an electronic device, characterized in that: The method comprises: receiving a first positioning signal, where the first positioning signal is sent by a sending device when detecting that the first positioning signal is different from a second positioning signal, and the second positioning signal is a positioning signal sent last by the sending device; Positioning processing is performed based on the first positioning signal to obtain position information.

2. The method according to claim 1, characterized in that The receiving a first positioning signal comprises: Calling a signal receiving thread to receive the first positioning signal; The performing positioning processing based on the first positioning signal to obtain position information includes: Calling a positioning algorithm execution thread to perform positioning processing based on the first positioning signal to obtain the position information; The signal receiving thread and the positioning algorithm executing thread are executed asynchronously.

3. The method according to claim 2, characterized in that The calling of the positioning algorithm execution thread, performing positioning processing based on the first positioning signal to obtain the position information, includes: When the signal receiving thread is called to receive multiple positioning signals in sequence, the positioning algorithm execution thread is called to perform positioning processing based on each positioning signal in sequence according to the time sequence in which the multiple positioning signals are received, so as to obtain the position information corresponding to the positioning signal.

4. The method according to claim 1, characterized in that: The first positioning signal includes an ultra-wideband signal and an inertial signal, wherein the inertial signal includes acceleration information and direction information, and the performing positioning processing based on the first positioning signal to obtain the position information includes: Performing positioning processing based on the ultra-wideband signal to obtain first position information; Performing positioning processing based on the inertial signal to obtain second position information; The first location information and the second location information are merged to obtain the location information.

5. The method according to claim 4, characterized in that The fusing the first location information and the second location information to obtain the location information includes: Invoke a Kalman filter to fuse the first position information and the second position information to obtain the position information; or, A particle filter is called to fuse the first position information and the second position information to obtain the position information.

6. The method according to claim 1, characterized in that The first positioning signal includes at least one of a first ultra-wideband signal and a first inertial signal, wherein the inertial signal includes acceleration information and direction information; The performing positioning processing based on the first positioning signal to obtain position information includes: In response to receiving the first ultra-wideband signal, performing positioning processing based on the first ultra-wideband signal and a second inertial signal to obtain the position information, wherein the second inertial signal is the most recently received inertial signal; or In response to receiving the first inertial signal, performing positioning processing based on a second ultra-wideband signal and the first inertial signal to obtain the position information, wherein the second ultra-wideband signal is the most recently received ultra-wideband signal; or In response to receiving the first ultra-wideband signal and the first inertial signal, positioning processing is performed based on the first ultra-wideband signal and the first inertial signal to obtain the position information.

7. The method according to any one of claims 1 to 6, characterized in that The performing positioning processing based on the first positioning signal to obtain position information includes: determining a difference between the first positioning signal and the second positioning signal; When the difference meets a preset condition, positioning processing is performed based on the first positioning signal to obtain the position information.

8. The method according to any one of claims 1 to 6, characterized in that: The method further comprises: calling a callback function to push the location information to a preset application, and displaying the location information through the preset application; or, The location information is pushed to the preset application through a notification message, and the location information is displayed through the preset application.

9. A positioning method, applied to a sending device, characterized in that: The method comprises: Detecting that the first positioning signal is different from the second positioning signal, sending the first positioning signal to the electronic device, where the second positioning signal is the positioning signal last sent to the electronic device; The electronic device is used to, in response to receiving the first positioning signal, perform positioning processing based on the first positioning signal to obtain location information.

10. A positioning device, configured in an electronic device, characterized in that: The device comprises: a signal acquisition module, configured to receive a first positioning signal, where the first positioning signal is sent by a sending device when it detects that the first positioning signal is different from a second positioning signal, where the second positioning signal is the positioning signal sent last by the sending device; The position acquisition module is configured to perform positioning processing based on the first positioning signal to obtain position information.

11. A positioning device, configured in a sending device, characterized in that: The device comprises: a signal sending module, configured to detect that the first positioning signal is different from the second positioning signal, and send the first positioning signal to the electronic device, where the second positioning signal is the positioning signal sent to the electronic device last time; The electronic device is used to, in response to receiving the first positioning signal, perform positioning processing based on the first positioning signal to obtain location information.

12. An electronic device, characterized in that: include: processor; a memory for storing processor-executable instructions; The processor is configured to execute the method according to any one of claims 1 to 8, or the processor is configured to execute the method according to claim 9.

13. A non-transitory computer-readable storage medium, characterized in that: When the instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the method as claimed in any one of claims 1 to 8, or the electronic device is enabled to execute the method as claimed in claim 9.