Positioning method and apparatus
By combining inertial navigation and visible light positioning technologies, and using navigation information and information such as LED markings, light intensity, and propagation delay for weighted processing, the positioning accuracy problem of visible light positioning in scenarios with insufficient or obstructed light sources is solved, thereby improving positioning accuracy and anti-interference capability.
Patent Information
- Application Number
- CN202210727189.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-24
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2042-06-24
AI Technical Summary
Existing visible light positioning technology has poor positioning accuracy in scenarios with few light sources, reflection, obstruction, and blind spots, and its anti-interference ability is insufficient.
By combining velocity and accelerometer technology in inertial navigation, the location of the terminal device is determined by weighting the navigation information of the terminal device and information such as the identification, light intensity and propagation delay of multiple positioning LEDs. The navigation information and positioning information are then used for comprehensive positioning.
It improves the positioning accuracy and anti-interference capability of terminal devices, enhances the usability of positioning, and can still achieve accurate positioning even in situations with little or no light.
Smart Images

Figure CN117331026B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of visible light positioning in computer technology, and more particularly to a positioning method and apparatus. Background Technology
[0002] In recent years, with the increasing popularity of LEDs (Light Emitting Diodes) in the lighting field, significant progress has also been made in the development of visible light positioning.
[0003] Currently, in existing technologies for visible light positioning, the tag signal emitted by each LED is typically used. The terminal device then receives the tag signal emitted by the LED to determine the current location within the coverage area of the LED, thereby achieving positioning.
[0004] However, the positioning accuracy of the above-described implementation method depends on the density of the lighting fixtures, and therefore the positioning accuracy is relatively low. Summary of the Invention
[0005] This application provides a positioning method and apparatus to solve the problem of poor positioning accuracy of visible light positioning in scenarios with few light sources, reflection, obstruction, blind spots, etc., and improve the accuracy, availability and anti-interference ability of terminal positioning.
[0006] In a first aspect, embodiments of this application provide a positioning method, including:
[0007] The system acquires navigation information of the terminal device and M positioning information of N positioning LEDs. The M positioning information includes: LED identification, light intensity, and propagation delay. N is an integer and M is an integer greater than or equal to 1.
[0008] Based on the navigation information and the M positioning information of the N positioning LEDs, determine the first position;
[0009] Obtain multiple estimated positions of the terminal device at the previous moment;
[0010] The target location of the terminal device is determined based on the first location and the plurality of estimated locations.
[0011] In one possible design, determining the first position based on the navigation information and the M positioning information of the N positioning LEDs includes:
[0012] Based on the navigation information, a first candidate location is determined;
[0013] Based on the M positioning information of the N positioning LED beads, determine M second candidate positions;
[0014] The first position is determined based on the first candidate position and the M second candidate positions.
[0015] In one possible design, determining the target location of the terminal device based on the first location and the plurality of estimated locations includes:
[0016] Based on the first position and the number N of the positioning LED beads, obtain the error corresponding to each of the multiple estimated positions;
[0017] The position with the smallest error among the multiple estimated positions is determined as the target position.
[0018] In one possible design, the first position includes the first candidate position and the M second candidate positions;
[0019] For any of the estimated positions, the step of obtaining the error corresponding to each of the plurality of estimated positions based on the first position and the number N of the positioning LEDs includes:
[0020] Based on the quantity N, determine the weight of the first candidate position and the weight of each candidate position among the M second candidate positions;
[0021] The error corresponding to the estimated position is determined based on the first candidate position, the M second candidate positions, the weight of the first candidate position, the weight of each candidate position among the M second candidate positions, and the estimated position.
[0022] In one possible design, determining the error corresponding to the estimated position based on the first candidate position, the M second candidate positions, the weight of the first candidate position, the weight of each candidate position among the M second candidate positions, and the estimated position includes:
[0023] Based on the first candidate position and the estimated position, a first error between the first candidate position and the estimated position is determined;
[0024] Based on the M second candidate positions and the estimated position, determine M second errors between the estimated position and the M second candidate positions;
[0025] The weighted average of the first error, the weight of the first candidate position, and each of the second errors and the weight of each candidate position is calculated to obtain the error corresponding to the estimated position.
[0026] In one possible design, determining the weight of the first candidate position and the weight of each candidate position among the M second candidate positions, based on the quantity N, includes:
[0027] When N is 0, the weight of the first candidate position is the maximum value, and the weight of each candidate position among the M second candidate positions is the minimum value;
[0028] When N is greater than 0, the weight of the first candidate position is inversely proportional to N. Among the M second candidate positions, the weight of the candidate position corresponding to the LED bead identifier is inversely proportional to N, and the weight of the candidate position corresponding to the light intensity and propagation delay is directly proportional to N.
[0029] In one possible design, before obtaining the multiple estimated positions of the terminal device at the previous moment, the method includes:
[0030] The terminal device performs maximum likelihood estimation based on the device information of the terminal device at the previous time to determine multiple estimated positions. The device information includes at least one of the following: speed, acceleration, direction of movement, the positioning position at the previous time, and the confidence level of the positioning position.
[0031] Secondly, embodiments of this application provide a positioning device, comprising:
[0032] The acquisition module is used to acquire the navigation information of the terminal device and M positioning information of N positioning LED beads. The M positioning information includes: LED bead identification, light intensity, and propagation delay. N is an integer and M is an integer greater than or equal to 1.
[0033] The determining module is used to determine the first position based on the navigation information and the M positioning information of the N positioning LED beads;
[0034] The acquisition module is also used to acquire multiple estimated positions of the terminal device at the previous moment;
[0035] The determining module is further configured to determine the target location of the terminal device based on the first location and the plurality of estimated locations.
[0036] In one possible design, the determining module is specifically used for:
[0037] Based on the navigation information, a first candidate location is determined;
[0038] Based on the M positioning information of the N positioning LED beads, determine M second candidate positions;
[0039] The first position is determined based on the first candidate position and the M second candidate positions.
[0040] In one possible design, the determining module is specifically used for:
[0041] Based on the first position and the number N of the positioning LED beads, obtain the error corresponding to each of the multiple estimated positions;
[0042] The position with the smallest error among the multiple estimated positions is determined as the target position.
[0043] In one possible design, the first position includes the first candidate position and the M second candidate positions;
[0044] For any of the estimated locations, the determining module is specifically used for:
[0045] Based on the quantity N, determine the weight of the first candidate position and the weight of each candidate position among the M second candidate positions;
[0046] The error corresponding to the estimated position is determined based on the first candidate position, the M second candidate positions, the weight of the first candidate position, the weight of each candidate position among the M second candidate positions, and the estimated position.
[0047] In one possible design, the determining module is specifically used to: determine a first error between the first candidate position and the estimated position based on the first candidate position and the estimated position;
[0048] Based on the M second candidate positions and the estimated position, determine M second errors between the estimated position and the M second candidate positions;
[0049] The weighted average of the first error, the weight of the first candidate position, and each of the second errors and the weight of each candidate position is calculated to obtain the error corresponding to the estimated position.
[0050] In one possible design, the determining module is specifically used for:
[0051] When N is 0, the weight of the first candidate position is the maximum value, and the weight of each candidate position among the M second candidate positions is the minimum value;
[0052] When N is greater than 0, the weight of the first candidate position is inversely proportional to N. Among the M second candidate positions, the weight of the candidate position corresponding to the LED bead identifier is inversely proportional to N, and the weight of the candidate position corresponding to the light intensity and propagation delay is directly proportional to N.
[0053] In one possible design, the determining module is further configured to:
[0054] Before acquiring the multiple estimated positions of the terminal device at the previous moment, the terminal device performs maximum likelihood estimation based on the device information of the terminal device at the previous moment to determine multiple estimated positions. The device information includes at least one of the following: speed, acceleration, direction of movement, the positioning position at the previous moment, and the confidence level of the positioning position.
[0055] Thirdly, embodiments of this application provide a positioning device, including:
[0056] Memory, used to store programs;
[0057] A processor for executing the program stored in the memory, wherein, when the program is executed, the processor is configured to perform the method described in the first aspect above and any of the various possible designs of the first aspect.
[0058] Fourthly, embodiments of this application provide a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the methods described in the first aspect above and any of the various possible designs of the first aspect.
[0059] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the method described in the first aspect above and any of the various possible designs of the first aspect.
[0060] This application provides a positioning method and apparatus. The method includes: acquiring navigation information of a terminal device and M positioning information of N positioning LEDs, wherein the M positioning information includes: LED identifier, light intensity, and propagation delay, where N is an integer and M is an integer greater than or equal to 1. A first position is determined based on the navigation information and the M positioning information of the N positioning LEDs. Multiple estimated positions of the terminal device at the previous moment are acquired. A target position of the terminal device is determined based on the first position and the multiple estimated positions. By acquiring the navigation information of the terminal device and the positioning information of each positioning LED, and then performing weighted processing based on the navigation information and positioning information to determine the first position of the terminal device, and then determining the target position of the terminal device from multiple estimated positions based on the first position, it is possible to determine the final positioning position of the terminal device by referring to various possible positioning information and navigation information independent of visible light, thereby effectively improving the accuracy of the positioning processing of the terminal device. Attached Figure Description
[0061] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0062] Figure 1 A schematic diagram of a visible light positioning system provided in an embodiment of this application;
[0063] Figure 2 A flowchart of the positioning method provided in the embodiments of this application;
[0064] Figure 3 Flowchart of the positioning method provided in the embodiments of this application Figure 2 ;
[0065] Figure 4 A schematic diagram illustrating the implementation of determining the estimated position according to an embodiment of this application;
[0066] Figure 5 A schematic diagram of the processing flow of the positioning method provided in the embodiments of this application;
[0067] Figure 6 This is a schematic diagram of the positioning device provided in the embodiments of this application;
[0068] Figure 7 This is a schematic diagram of the hardware structure of the positioning device provided in an embodiment of this application. Detailed Implementation
[0069] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0070] To better understand the technical solution of this application, the relevant technologies involved in this application will be further described in detail below.
[0071] In recent years, with the increasing popularity of LED (Light Emitting Diode) in the lighting field, LED visible light sources have become a highly attractive solution for indoor positioning technology due to their ubiquitousness, environmental friendliness, and abundant spectrum resources.
[0072] The following is a combination of... Figure 1Explanation of visible light positioning. Figure 1 This is a schematic diagram of a visible light positioning system provided in an embodiment of this application.
[0073] like Figure 1 As shown, since the current operation is indoor positioning using visible light, the LEDs are usually installed on the ceiling indoors. The indoor environment can be a shopping mall, parking lot, mine, etc. This embodiment does not limit the specific indoor scene, and it can be selected and set according to actual needs.
[0074] Reference Figure 1 For example, multiple LEDs can be installed on the ceiling indoors, and the terminal device to be located can interact with some of these LEDs to achieve visible light positioning. Figure 1 In the scenario shown, the terminal device can interact with four LEDs installed on the ceiling of the room.
[0075] It is understandable that the position of the LED on the ceiling is fixed, but the terminal device can be moved. As the terminal device moves, the LEDs that the terminal device can communicate with will also change in different positions of the terminal device. Therefore, the specific implementation of the LEDs that the terminal device can communicate with can depend on the position of the terminal device, and this embodiment does not limit this.
[0076] The terminal devices in this application can be, for example, customized safety helmets, mobile phones, computers, tablets, etc. This embodiment does not limit the specific implementation of the terminal devices, as long as the terminal devices are equipped with optical receivers and transmitters, as well as FPGAs for corresponding calculations, and the terminal devices can perform data interaction. Based on this, the specific implementation of the terminal devices can be selected and set according to actual needs.
[0077] In one possible scenario, a customized mobile phone can serve as the terminal device in this application. For example, when a user needs to locate themselves indoors, they can open the APP on their phone and communicate with the LED to achieve the phone's location, thereby enabling a series of specific applications such as address finding in shopping malls and location finding in underground parking garages.
[0078] Based on the above introduction, visible light technology in LEDs, while providing everyday lighting, can transmit the position information of LED chips through visible light beams. By designing appropriate algorithms, the positioning of terminal devices can be achieved, which essentially means positioning the user. Currently, visible light positioning algorithms are mainly divided into two categories: imaging positioning and non-imaging positioning.
[0079] Among them, the imaging positioning algorithm is unique in the field of visible light positioning technology. It uses an image sensor to receive light signals emitted by multiple LEDs, estimates the distance between the LEDs, calculates the position information, and then achieves positioning. The positioning accuracy of this method is related to the resolution of each part of the system, and generally has high positioning accuracy.
[0080] Furthermore, non-imaging positioning, similar to free-space navigation and positioning technologies such as BeiDou, Global Positioning System (GPS), and GLONASS (Global Navigation Satellite System), is used. Visible light non-imaging positioning algorithms include the ID method, scene analysis method, and triangulation method.
[0081] Triangulation is a widely used positioning algorithm. This algorithm calculates positioning by measuring distance or angle, including Angle of Arrival (AOA), Time of Arrival (TOA), Time Difference of Arrival (TDOA), and Received Signal Strength (RSS).
[0082] Among the existing visible light positioning technologies listed above, the imaging positioning algorithms require terminal devices equipped with corresponding image sensors, resulting in high costs and power consumption, which limits their further development.
[0083] In non-imaging localization algorithms:
[0084] LED-ID (Light Emitting Diode-Identification) positioning method uses the tag signal emitted by each LED to achieve positioning. This method has the advantages of simple system and easy implementation. However, the positioning accuracy of the ID method depends on the density of the light fixtures, so the positioning accuracy is generally low and the anti-interference ability is poor.
[0085] Scene analysis-based localization compares collected light signals with a fingerprint database for positioning. This method is fast, eliminates distance calculations, and has low power consumption. However, it requires a pre-built fingerprint database, resulting in poor portability across different scenarios. Furthermore, due to the attenuation of LED luminous flux, the fingerprint database data gradually becomes invalid over time, affecting positioning accuracy.
[0086] Triangulation is a traditional positioning algorithm. In triangulation, the AOA algorithm calculates the orientation by measuring angles and has high accuracy. However, because the AOA algorithm requires a specific angle sensor, it is not easy to combine with existing smart devices and promote its application.
[0087] TOA and TDOA positioning algorithms calculate distance by measuring arrival time or time difference. Although the TDOA algorithm does not require clock synchronization between the transmitter and receiver, both algorithms require synchronization between the LEDs at the transmitter. In indoor environments with large areas and a large number of LEDs, synchronization between the transmitters is difficult to achieve, thus making both methods unsuitable for large-scale promotion and application.
[0088] Received Signal Strength (RSS) is based on the downlink channel model of LEDs, establishing the relationship between illumination and distance. Distance is calculated by measuring light intensity, and positioning accuracy within 10cm has been achieved so far. However, it performs poorly or even fails to work in scenarios where the LED is obstructed, close to a wall, or with a small number of LEDs.
[0089] In summary, each visible light positioning algorithm has its own advantages and disadvantages. In engineering implementation, it is necessary to consider not only the accuracy of the positioning algorithm, but also the cost, complexity, and anti-interference ability of each algorithm.
[0090] To address the problems in existing technologies, this application proposes the following technical concept: combining the advantages of multiple methods while mitigating their disadvantages to improve the overall positioning accuracy and performance of terminal devices. Specifically, based on the available positioning-related photoelectric signal parameters described above, velocity and accelerometer technology from inertial navigation is introduced to solve the problem of poor positioning accuracy in scenarios with limited light sources, reflection, obstruction, and blind spots, thereby improving the positioning accuracy, availability, and anti-interference capability of terminal devices.
[0091] The positioning method provided in this application will be described below with reference to specific embodiments. The execution entity of each embodiment in this application can be a server, which can be a backend server or a terminal server. For example, the application scenario of this application can be described below. The terminal device described above can collect navigation data. After collecting the data, the terminal device can send the data to the server. The server performs a series of processes based on the navigation data to determine the positioning result of the terminal device, and then sends the positioning result back to the terminal device to achieve visible light positioning. Based on the above description, it can be determined that the terminal device in this application can be any implementable terminal device, as long as it can receive signals sent by LEDs, has an inertial navigation module, and can realize corresponding data processing functions. Based on this, the specific implementation of the terminal device can be selected and set according to actual needs.
[0092] First, combine Figure 2 To explain, Figure 2 A flowchart of the positioning method provided in the embodiments of this application.
[0093] like Figure 2 As shown, the method includes:
[0094] S201. Obtain the navigation information of the terminal device and M positioning information of N positioning LEDs. The M positioning information includes: LED identification, light intensity, and propagation delay. N is an integer and M is an integer greater than or equal to 1.
[0095] In this embodiment, the navigation information of the terminal device can be, for example, the inertial navigation information of the terminal device. It is understood that the navigation information in this embodiment is navigation information that does not rely on visible light technology. Based on this, the specific implementation of the navigation information can be selected and set according to actual needs.
[0096] The positioning LEDs in this embodiment are actually the LEDs described above. The N positioning LEDs refer to the N LEDs that the terminal device can receive positioning information from. It can be understood that multiple positioning LEDs are actually installed on the ceiling. As the terminal device moves, it can always communicate with some of the positioning LEDs to obtain the corresponding positioning information. The N positioning LEDs described above are the N positioning LEDs that can currently communicate with the terminal device.
[0097] In this embodiment, the N positioning LEDs can correspond to M positioning information. In one possible implementation, for example, each positioning LED has M positioning information, which may include, for example, LED identification, light intensity, and propagation delay. Here, N is an integer, and M is an integer greater than or equal to 1.
[0098] The positioning information in this embodiment can also be understood as the positioning information of the LED beads. The LED bead identifier can be the LED ID described above, the light intensity can be the RSS described above, and the propagation delay can be the TDOA described above. In actual implementation, the positioning information may also include AOA, TOA, etc. This embodiment does not limit the specific implementation of the positioning information; it can be selected and set according to actual needs. Any information related to LEDs used for positioning can be used as the positioning information in this embodiment.
[0099] S202. Determine the first position based on the navigation information and the M positioning information of N positioning LEDs.
[0100] It is understandable that the navigation information and the M positioning information of the N positioning LEDs can both be used to determine the location of the terminal device. Therefore, the first location of the terminal device can be determined based on the navigation information and the M positioning information of the N positioning LEDs.
[0101] In one possible implementation, this embodiment sets corresponding weights for navigation information and positioning information. Therefore, for example, the first position of the terminal device can be determined by weighting the navigation information and the M positioning information of N positioning LEDs.
[0102] S203. Obtain multiple estimated positions of the terminal device at the previous moment.
[0103] Furthermore, in this embodiment, multiple estimated locations of the terminal device can be obtained at each moment, wherein the estimated location is the location that the terminal device may reach in the next moment. The number of estimated locations and the specific locations can be selected according to the actual situation, and this embodiment does not impose any restrictions on this.
[0104] In one possible implementation, multiple estimated positions for the next time step can be determined at each time step, and similarly, multiple estimated positions for the previous time step can be directly obtained at each time step.
[0105] In actual implementation, the time interval between any two moments can be selected and set according to actual needs. This embodiment does not limit the time interval for specific moments.
[0106] S204. Determine the target location of the terminal device based on the first location and multiple estimated locations.
[0107] After determining the first position and multiple estimated positions, the target position of the terminal device can be determined. In one possible implementation, since the multiple estimated positions are the positions that the terminal device can currently reach, determined in the previous moment, and the first position is the position determined based on the navigation information and positioning information of the terminal device at the current moment, the error between each estimated position and the first position can be determined, and the estimated position with the smallest error can be determined as the target position of the terminal device.
[0108] The target location refers to the current location of the terminal device. It's important to note that the target location is determined within the estimated location, rather than directly using the first location, because the terminal positioning process always requires pre-estimation of the device's position to display its movement trajectory in the graphical user interface.
[0109] Furthermore, in actual implementation, the time intervals between determining the various moments of the terminal device are very close. Therefore, it is necessary to adopt this method of estimating the position of the terminal device and determining the final positioning position of the terminal device within the estimated position in order to ensure that the drawn movement trajectory of the terminal device is as consistent as possible with the movement of the terminal device in time. Otherwise, the drawing of the movement trajectory of the terminal device may be unsmooth, resulting in jumps in the drawing.
[0110] The positioning method provided in this application includes: acquiring navigation information of a terminal device and M positioning information of N positioning LEDs, wherein the M positioning information includes: LED identifier, light intensity, and propagation delay, where N is an integer and M is an integer greater than or equal to 1. A first position is determined based on the navigation information and the M positioning information of the N positioning LEDs. Multiple estimated positions of the terminal device at the previous moment are acquired. A target position of the terminal device is determined based on the first position and the multiple estimated positions. By acquiring the navigation information of the terminal device and the positioning information of each positioning LED, and then performing weighted processing based on the navigation information and positioning information to determine the first position of the terminal device, and then determining the target position of the terminal device from multiple estimated positions based on the first position, it is possible to determine the final positioning position of the terminal device by referring to various possible positioning information and navigation information independent of visible light, thereby effectively improving the accuracy of the terminal device's positioning processing.
[0111] Based on the above embodiments, the following is combined with Figures 3 to 4 The positioning method provided in this application will be described in further detail. Figure 3 Flowchart of the positioning method provided in the embodiments of this application Figure 2 , Figure 4 This is a schematic diagram illustrating the implementation of determining the estimated position according to an embodiment of this application.
[0112] like Figure 3 As shown, the method includes:
[0113] S301. Obtain the navigation information of the terminal device and M positioning information of N positioning LEDs. The M positioning information includes: LED identification, light intensity, and propagation delay. N is an integer and M is an integer greater than or equal to 1.
[0114] The implementation of S301 is similar to that of S201, and will not be repeated here.
[0115] In one possible implementation, for any given positioning LED bead, its corresponding M positioning information can be further understood by referring to Table 1 below.
[0116] Table 1
[0117]
[0118] Among them, the input information LED-ID with serial number 1 is actually the light identifier mentioned above. Based on Table 1 above, it can be determined that the LED-ID of an LED can be determined by listening to the downlink broadcast channel of each LED.
[0119] Furthermore, the input information RSS information with serial number 2 is actually the light intensity described above. Based on Table 1 above, it can be determined that the RSS information can be the light intensity estimate received by the terminal device for each LED bead signal.
[0120] Furthermore, the input information TDOA information with sequence number 3 is actually the propagation delay described above. Based on Table 1, it can be determined that the TDOA information can be obtained by monitoring the downlink broadcast channel of each LED, performing pseudo-code coherent processing, and measuring the time difference between the LEDs. Specifically, coherent integration can be performed based on the downlink pseudo-code broadcast information of each LED to extract the phase difference value between the LEDs, thereby calculating the TDOA information between the LEDs.
[0121] Furthermore, the input information for inertial navigation with serial number 4 is actually the navigation information described above. Based on Table 1 above, it can be determined that the inertial navigation can be the output result of the local inertial navigation chip of the terminal device.
[0122] It should be noted that the LED beads described above are the positioning beads in this embodiment. Furthermore, regarding the TDOA information described above, in one possible implementation, AOA information or TOA information can also be used instead, with similar implementation methods. Here, we will only use TDOA information as an example for explanation.
[0123] S302. Based on the navigation information, determine the first candidate location.
[0124] The navigation information in this embodiment is positioning information unrelated to visible light positioning. In one possible implementation, the navigation information in this embodiment may be, for example, inertial navigation information. The first candidate position can be determined based on the navigation information. That is, the first candidate position indicated by the inertial navigation information is determined based on the inertial navigation information of the terminal device.
[0125] The specific implementation of positioning based on inertial navigation information can be found in the descriptions in related technologies, and this embodiment does not impose any limitations on it.
[0126] S303. Based on the M positioning information of N positioning LED beads, determine M second candidate positions.
[0127] Furthermore, in this embodiment, M second candidate locations can be determined based on M positioning information from N positioning LEDs. In one possible implementation, it is assumed that the M positioning information in this embodiment includes: LED-ID, light intensity RSS, and propagation delay TDOA.
[0128] For example, the second candidate position corresponding to the LED-ID can be determined based on the LED-ID of N LED beads. The specific implementation can be referred to the LED-ID positioning method in related technologies, which will not be elaborated here.
[0129] Furthermore, the second candidate position corresponding to the light intensity RSS can be determined based on the light intensity RSS of N LEDs. The specific implementation can be referred to in the related technology on calculating distance by measuring light intensity, which will not be elaborated here.
[0130] Furthermore, the second candidate position corresponding to the propagation delay TDOA can be determined based on the propagation delay TDOA of N LEDs. The specific implementation can be referred to the triangulation method in related technologies, which will not be elaborated here.
[0131] Therefore, in this embodiment, based on the M positioning information of N positioning LED beads, the second candidate position corresponding to each of the M positioning information can be determined to obtain M second candidate positions.
[0132] S304. Determine the first position based on the first candidate position and M second candidate positions.
[0133] After determining the first candidate position and M second candidate positions, the first position can be determined. In this embodiment, the first position includes the first candidate position and M second candidate positions described above.
[0134] S305. Obtain multiple estimated positions of the terminal device at the previous moment.
[0135] It is understood that in this embodiment, multiple estimated positions for the next moment are determined at each moment, so at the current moment, multiple estimated positions of the terminal device at the previous moment can be obtained.
[0136] In one possible implementation, before acquiring multiple estimated positions from the previous moment, the terminal device may, for example, perform maximum likelihood estimation based on the device information of the terminal device at the previous moment to determine multiple estimated positions. The device information includes at least one of the following: velocity, acceleration, direction of movement, the previous positioning position, and confidence level of the positioning position.
[0137] The location and confidence level of the location are obtained through calculations described below. The velocity and acceleration are obtained directly from the corresponding hardware in the terminal device.
[0138] Maximum likelihood estimation, derived from statistics, is used to solve for the relevant probability density function of a sample set. Its goal is to find scenarios that can generate observational data with a high probability. In this embodiment, maximum likelihood estimation is performed based on comprehensive maximum likelihood estimation using information from multiple devices, which can effectively eliminate errors caused by reflection, occlusion, aging, etc.
[0139] In one possible implementation, when determining multiple estimated locations based on the device information from the previous moment, the selection of the location density, spacing, and number of these estimated locations can be based on the confidence level of the location. If the confidence level of the location is poor, the selected estimated locations will have a larger interval, a sparser density, and a larger number to ensure that the candidate points cover the true location. Conversely, if the confidence level of the location is good, the selected estimated locations will have a smaller interval, a denser density, and a smaller number, thereby gradually reducing the computational load and positioning time while converging the positioning accuracy.
[0140] Therefore, in this embodiment, the density and number of candidate points can be dynamically adjusted based on the confidence level of the previous positioning, gradually reducing the number of candidate points and converging the positioning accuracy.
[0141] The following is combined with Figure 4 The selection of candidate points is introduced. Assuming that the location determined by the terminal device at time t-1 is the location indicated by 401, the terminal device at time t-1 can perform maximum likelihood estimation based on the location 401, the location confidence of the location, the estimated velocity of the terminal device, the estimated acceleration of the terminal device, and the direction of movement to determine multiple estimated locations of the terminal device at time t.
[0142] Similarly, assuming the location determined by the terminal device at time t is the location indicated by 402, the terminal device at time t can perform maximum likelihood estimation based on the location 402, the location confidence of the location, the estimated velocity of the terminal device, the estimated acceleration of the terminal device, and the direction of movement to determine multiple estimated locations of the terminal device at time t+1.
[0143] The implementation methods for determining the estimated position for the next time step at each time step are similar and will not be elaborated here. Furthermore, refer to... Figure 4 It is certain that, assuming the confidence level of the location 401 at time t-1 is poor, then the interval between the multiple estimated locations at the next time t will be large, the density will be relatively sparse, and the number will be relatively large, so as to ensure that the candidate points cover the true location of the terminal device.
[0144] Furthermore, assuming that the confidence level of the location 402 at time t is poor, the interval between the multiple estimated locations at the next time t+1 will be smaller, the density will be denser, and the number will be smaller. This will gradually reduce the amount of computation and the positioning time while converging the positioning accuracy.
[0145] In actual implementation, the specific implementation of determining candidate positions can be based on maximum likelihood estimation and follow the rules introduced above. The implementation of candidate positions based on maximum likelihood estimation can be found in the relevant technical descriptions, which will not be repeated here.
[0146] S306. Based on N, determine the weight of the first candidate position and the weight of each candidate position among the M second candidate positions.
[0147] In this embodiment, based on the number N of positioning LEDs visible on the current terminal device, weights are set for each piece of positioning and navigation information. M pieces of positioning information correspond to M second candidate locations, and navigation information corresponds to a first candidate location. Therefore, in this embodiment, the weight of the first candidate location and the weight of each of the M second candidate locations can be determined based on N.
[0148] In one possible implementation, when N is 0, the weight of the first candidate position is the maximum value, and the weight of each of the M second candidate positions is the minimum value.
[0149] When N is greater than 0, the weight of the first candidate position is inversely proportional to N. Among the M second candidate positions, the weight of the candidate position corresponding to the LED bead identifier is inversely proportional to N, while the weight of the candidate position corresponding to the light intensity and propagation delay is directly proportional to N.
[0150] Specifically, from the perspective of the terminal device, when the number of LED beads N is zero, it means that the terminal device is completely dark because nothing can be seen without LED lighting. In this case, the positioning can only be achieved by relying on the inertial navigation of the terminal device itself. Therefore, the weight of the first candidate position needs to be set to the maximum value, and the weight of each candidate position in the M second candidate positions needs to be set to the minimum value.
[0151] Furthermore, as the number of interactive LED beads in terminal devices increases, the positioning accuracy based on light intensity and propagation delay becomes higher, achieving high-precision positioning. Therefore, the weights corresponding to light intensity and propagation delay can be increased. Conversely, the positioning accuracy based on navigation information and LED bead identifiers is relatively lower, achieving coarse positioning. Therefore, the weights corresponding to navigation information and LED bead identifiers can be reduced. In other words, the weight of the first candidate position can be set to be inversely proportional to N. Among the M second candidate positions, the weight of the candidate position corresponding to the LED bead identifier is inversely proportional to N, while the weight of the candidate position corresponding to light intensity and propagation delay is directly proportional to N.
[0152] In one possible scenario, the specific weights corresponding to the values of N can be understood by referring to Table 2 below:
[0153]
[0154] Referring to Table 2 above, for scenario number 1, when the number N of LED beads visible to the terminal device is 0, the weight of inertial navigation can be set to the maximum value, such as the weight of 10 as shown in Table 2, and the weights of LED-ID, RSS, and TDOA can be set to the minimum value, such as 0 as shown in Table 2.
[0155] Furthermore, for scenario number 2, when the number of visible LEDs N on the terminal device is 1 to 2, more weight can be allocated to RSS signal strength and TDOA positioning information. This is because when only 1 or 2 LEDs are visible on the terminal device, accurate positioning cannot be achieved relying solely on RSS or TDOA. Therefore, in this case, the weight assigned to inertial navigation should be the highest. Referring to Table 2, the weight of LED-ID information can be set to 1, the weight of RSS signal strength and TDOA positioning information to 2, and the weight of inertial navigation to 5.
[0156] Furthermore, for scenario number 3, when the number N of visible LEDs on the terminal device is greater than or equal to 3, more weight can be assigned to RSS signal strength and TDOA positioning information. This is because high-precision 3D positioning can already be achieved based on 3 LEDs using RSS signal strength and / or TDOA positioning information. Referring to Table 2, the weight of LED-ID information can be set to 1, the weight of RSS signal strength and TDOA positioning information to 4, and the weight of inertial navigation to 1.
[0157] Table 2 above describes the weight settings for navigation information and positioning information. Based on the weights described above, the weight of the first candidate location corresponding to the navigation information and the weight of the second candidate location corresponding to the positioning information can be determined.
[0158] It is understandable that in this embodiment, the weights of navigation information and various positioning information vary under different scenario conditions. The number of visible LEDs N obtained from the downlink broadcast channel of the terminal device is primarily used as a reference, and multiple different working scenarios are set. Specifically, as the number of visible LEDs N increases, the weight of RSS / TDOA information gradually increases; conversely, as the number of visible LEDs decreases, the weight of inertial navigation gradually increases, with LED-ID information mainly used for coarse positioning and auxiliary positioning.
[0159] This section explains the coarse and auxiliary positioning of LED-ID. LED-ID is the identification number of a single LED chip, covering only the illumination range of that chip, typically between a few meters and tens of meters. Therefore, it can be used for coarse positioning. In practical implementations, centimeter-level positioning is usually desired. Auxiliary positioning refers to using LED-ID information to determine the current location of the terminal device, ensuring it doesn't appear in other areas.
[0160] Based on the above introduction, in the actual implementation process, the specific scenario division and the specific weight settings in each scenario can be selected according to actual needs, as long as the principle of gradually increasing the weight of RSS / TDOA information as N increases, and gradually increasing the weight of inertial navigation as N decreases, can be followed.
[0161] It should be noted that this embodiment first considers the positioning usability under extreme conditions such as weak visible light source intensity and even power failure of the light source. Therefore, inertial navigation information is introduced as an auxiliary positioning method for the terminal device. The inertial navigation information used is the velocity and acceleration values of the terminal device, which has the advantages of being easy to implement and low in cost. The four sets of input information of the terminal device are not simply superimposed, but dynamically weighted. As the number of LEDs and the light intensity increase, the weights of the RSS value and TDOA value increase sequentially, while the weight of the inertial navigation information decreases.
[0162] S307. Based on the first candidate position and the estimated position, determine the first error between the first candidate position and the estimated position.
[0163] Based on the first candidate position, the second candidate position, and their respective weights described above, the error of each estimated position can be determined. The following is an example of any estimated position. The method for determining the error of each estimated position is similar, so it will not be repeated here.
[0164] Based on the above description, it can be determined that at the current moment, a first candidate location can be identified, which is determined based on the navigation information at the current moment. Furthermore, an estimated location can be obtained at the current moment, which is the location estimated based on the device information at the previous moment.
[0165] Then, the first error between the first candidate position and the estimated position can be obtained. In one possible implementation, the error between the estimated position and the first position can satisfy, for example, the following formula:
[0166]
[0167] Where (x, y, z) is the first position. For estimating location, E[·] is the statistical average operator, and R MSE To estimate the error between the current position and the first position.
[0168] Formula 1 above only introduces one possible way to calculate the error. In actual implementation, as long as the error can reflect the distance between the estimated position and the first position, the specific implementation method can be selected and expanded according to actual needs.
[0169] If (x, y, z) in the above formula is the first candidate position, then the first error between the first candidate position and the estimated position can be determined.
[0170] S308. Based on the M second candidate positions and the estimated position, determine the M second errors between the estimated position and the M second candidate positions.
[0171] Furthermore, based on the above description, it can be determined that at the current moment, M second candidate locations can be identified, where each second candidate location is determined based on the positioning information at the current moment. Also, an estimated location can be obtained at the current moment, where the estimated location is the location estimated based on the device information at the previous moment.
[0172] Then we can further obtain M second errors between the M second candidate positions and the estimated position. Specifically, for each second candidate position, we obtain the second error between the second candidate position and the estimated position, thereby determining M second errors.
[0173] The calculation of the second error is similar to that of the first error. For example, if (x, y, z) in Formula 1 above is the second candidate position, then the second error between the second candidate position and the estimated position can be determined.
[0174] S309. The weights of the first error and the first candidate position, as well as the weights of each second error and each candidate position, are weighted and averaged to obtain the error corresponding to the estimated position.
[0175] After determining the first error between the estimated position and the first candidate position, and the second errors between the estimated position and each of the second candidate positions, a weighted average can be performed on the first error, the weight of the first candidate position, and the weights of each second error and each candidate position to obtain the error corresponding to the estimated position. The weighted average process can be performed by weighting the values according to their respective weights and then averaging them; the specific implementation details are not elaborated here.
[0176] In one possible implementation, the location reliability calculation described above can be based on the error results described here, by classifying the error as the estimated location into levels, and thus obtaining the corresponding level of location reliability.
[0177] In other words, in this embodiment, the location reliability can be determined based on the error. For example, the larger the error, the smaller the location reliability. That is to say, the error can be inversely proportional to the location reliability. Based on this, the specific relationship between the error and the location reliability, as well as the specific implementation of the level division described above, can be selected and set according to actual needs.
[0178] Specifically, in this embodiment, the error of the estimated location is graded according to each positioning result to obtain the positioning confidence level, which is the cumulative probability trend of the error. This can effectively eliminate information errors caused by reflection, occlusion, aging, etc., and dynamically adjust the density and number of estimated locations based on the confidence level of the previous positioning, gradually reducing the number of candidate points and gradually converging the positioning accuracy. Therefore, the solution in this embodiment can quickly calculate the next location of the terminal device with high accuracy, solve the fingerprint database problem required for scene analysis-based positioning, shorten the positioning calculation time, and improve the usability of the positioning method in this embodiment.
[0179] S310. Determine the position with the smallest error among multiple estimated positions as the target position.
[0180] After determining the errors corresponding to multiple estimated positions, the position with the smallest error among these estimated positions can be identified as the target position. This target position is the final location of the terminal device at the current moment.
[0181] It should be noted that the reason why the target position at the current moment is selected from the estimated position based on the error in this embodiment is because the movement of the terminal device is a continuous line, but the positioning can only be calculated point by point. The calculation interval can be meters, decimeters, centimeters, etc., which corresponds to the positioning accuracy, and the corresponding delay between points.
[0182] After calculating multiple points, connecting these points yields the movement trajectory of the terminal device. Since the terminal device is moving, it is not stationary at time t. Therefore, this embodiment requires predicting the terminal device's trajectory to ensure that the drawn movement trajectory follows the user's movement, thus guaranteeing that the observed movement trajectory is a continuous and smooth curve.
[0183] If the user only calculates the position at time t, the displayed position will lag behind the movement of the terminal device, resulting in an unsmooth movement trajectory. The technical solution of this application is equivalent to drawing the movement trajectory of the terminal device in advance, thereby ensuring high positioning accuracy while also ensuring a very smooth software interface.
[0184] The positioning method provided in this application overcomes the drawback of decreased positioning accuracy caused by adverse conditions such as reduced light intensity, light intensity fluctuations, and reflection interference when using a single type of input information. This is achieved by classifying different input information into coarse positioning and auxiliary positioning, and weighting them accordingly. This provides a foundation for further improvements in positioning accuracy. Furthermore, since the estimation of a finite number of candidate points directly affects the accuracy and convergence time of the positioning algorithm, this application simplifies an infinite number of points to be evaluated into a finite number of estimated positions based on the maximum likelihood estimation criterion. The density and number of estimated positions are estimated based on the device information from the previous positioning. By setting the selected estimated positions to have larger intervals, sparser density, and larger number when the confidence level of the positioning position is poor, and smaller intervals, denser density, and smaller number when the confidence level of the positioning position is good, the accuracy of the positioning algorithm can be effectively improved and the convergence time reduced.
[0185] Based on the above embodiments, the following is combined with Figure 5 The process of the positioning method provided in this application will be further described in detail. Figure 5 This is a schematic diagram of the processing flow of the positioning method provided in the embodiments of this application.
[0186] like Figure 5 As shown, the terminal device, for example, can obtain navigation information and the positioning information of each LED bead at time t, that is... Figure 5 The system displays LED-ID information, visible light RSS intensity, TDOA time difference information, and inertial navigation information, and dynamically adjusts the weighting coefficients of each parameter based on the number of visible LED beads.
[0187] Furthermore, the terminal device can delay by one positioning cycle and obtain the positions of multiple candidate points from the previous time, i.e., time t-1, through the candidate point estimation module. These candidate point positions are actually the estimated positions described above, for example, referring to... Figure 5 There are candidate point 1 to candidate point k, meaning that k estimated positions are determined at time t-1.
[0188] Next, the dynamic weighted error calculation module can perform the weighted average processing described above, determining the error corresponding to each candidate point position based on the navigation information and positioning information, as well as their respective weights, and outputting the result. Figure 5 The errors of candidate point 1 to candidate point k are shown. The implementation of these errors can be referred to the description in the above embodiments, and will not be repeated here.
[0189] Then, the positioning selection module can determine the candidate point with the smallest error as the positioning result based on the candidate point error, thus obtaining the target location of the terminal device.
[0190] The terminal device can then obtain its information at time t through speed, acceleration, and confidence assessment modules. This information may include speed, acceleration, direction of movement, previous location, and confidence level. It can then estimate multiple possible locations for the next time step and repeat the above process to achieve continuous positioning for multiple terminal devices.
[0191] Based on the above description, it can be determined that the positioning method provided in this application dynamically weights the four sets of input information from the terminal device described above. The weighting effectively classifies different input information into coarse positioning and auxiliary positioning, followed by weighted processing. This effectively overcomes the disadvantage of reduced positioning accuracy caused by factors such as weakened light intensity, light intensity fluctuations, and reflection interference when using only one type of input information during positioning calculation. Simultaneously, based on the error result calculated by the dynamic weighting error, the positioning confidence level of the estimated position is determined. Then, based on the confidence level, the density and number of estimated positions for the next iteration are dynamically adjusted, thereby gradually reducing the number of candidate points and gradually converging the positioning accuracy. Therefore, the positioning method provided in this application can quickly and accurately calculate the next position of the terminal device while effectively shortening the positioning calculation time. Thus, it can achieve rapid and accurate positioning of the terminal device.
[0192] Figure 6 This is a schematic diagram of the positioning device provided in an embodiment of this application. Figure 6 As shown, the device 60 includes: an acquisition module 601 and a determination module 602.
[0193] The acquisition module 601 is used to acquire the navigation information of the terminal device and M positioning information of N positioning LED beads. The M positioning information includes: LED bead identification, light intensity, and propagation delay. N is an integer and M is an integer greater than or equal to 1.
[0194] The determining module 602 is used to determine the first position based on the navigation information and the M positioning information of the N positioning LED beads;
[0195] The acquisition module 601 is also used to acquire multiple estimated positions of the terminal device at the previous moment;
[0196] The determining module 602 is further configured to determine the target location of the terminal device based on the first location and the plurality of estimated locations.
[0197] In one possible design, the determining module 602 is specifically used for:
[0198] Based on the navigation information, a first candidate location is determined;
[0199] Based on the M positioning information of the N positioning LED beads, determine M second candidate positions;
[0200] The first position is determined based on the first candidate position and the M second candidate positions.
[0201] In one possible design, the determining module 602 is specifically used for:
[0202] Based on the first position and the number N of the positioning LED beads, obtain the error corresponding to each of the multiple estimated positions;
[0203] The position with the smallest error among the multiple estimated positions is determined as the target position.
[0204] In one possible design, the first position includes the first candidate position and the M second candidate positions;
[0205] For any of the estimated locations, the determining module 602 is specifically used for:
[0206] Based on the quantity N, determine the weight of the first candidate position and the weight of each candidate position among the M second candidate positions;
[0207] The error corresponding to the estimated position is determined based on the first candidate position, the M second candidate positions, the weight of the first candidate position, the weight of each candidate position among the M second candidate positions, and the estimated position.
[0208] In one possible design, the determining module 602 is specifically used to: determine a first error between the first candidate position and the estimated position based on the first candidate position and the estimated position;
[0209] Based on the M second candidate positions and the estimated position, determine M second errors between the estimated position and the M second candidate positions;
[0210] The weighted average of the first error, the weight of the first candidate position, and each of the second errors and the weight of each candidate position is calculated to obtain the error corresponding to the estimated position.
[0211] In one possible design, the determining module 602 is specifically used for:
[0212] When N is 0, the weight of the first candidate position is the maximum value, and the weight of each candidate position among the M second candidate positions is the minimum value;
[0213] When N is greater than 0, the weight of the first candidate position is inversely proportional to N. Among the M second candidate positions, the weight of the candidate position corresponding to the LED bead identifier is inversely proportional to N, and the weight of the candidate position corresponding to the light intensity and propagation delay is directly proportional to N.
[0214] In one possible design, the determining module 602 is further configured to:
[0215] Before acquiring the multiple estimated positions of the terminal device at the previous moment, the terminal device performs maximum likelihood estimation based on the device information of the terminal device at the previous moment to determine multiple estimated positions. The device information includes at least one of the following: speed, acceleration, direction of movement, the positioning position at the previous moment, and the confidence level of the positioning position.
[0216] The apparatus provided in this embodiment can be used to execute the technical solutions of the above method embodiments. Its implementation principle and technical effects are similar, and will not be described again here.
[0217] Figure 7 This is a schematic diagram of the hardware structure of the positioning device provided in the embodiments of this application, such as... Figure 7 As shown, the positioning device 70 in this embodiment includes: a processor 701 and a memory 702; wherein
[0218] Memory 702 is used to store instructions executed by the computer;
[0219] The processor 701 is configured to execute computer execution instructions stored in the memory to implement the various steps performed by the positioning method in the above embodiments. For details, please refer to the relevant descriptions in the foregoing method embodiments.
[0220] Alternatively, the memory 702 can be either standalone or integrated with the processor 701.
[0221] When the memory 702 is set up independently, the positioning device also includes a bus 703 for connecting the memory 702 and the processor 701.
[0222] This application also provides a computer-readable storage medium storing computer-executable instructions. When a processor executes the computer-executable instructions, it implements the positioning method performed by the positioning device described above.
[0223] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or modules, and may be electrical, mechanical, or other forms.
[0224] The integrated modules implemented as software functional modules described above can be stored in a computer-readable storage medium. These software functional modules, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of this application.
[0225] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly manifested as execution by a hardware processor, or execution by a combination of hardware and software modules within the processor.
[0226] The memory may include high-speed RAM, and may also include non-volatile storage (NVM), such as at least one disk storage device, and may also be a USB flash drive, external hard drive, read-only memory, disk or optical disc, etc.
[0227] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0228] The aforementioned storage medium can be implemented from 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 storage, flash memory, magnetic disk, or optical disk. The storage medium can be any available medium accessible to general-purpose or special-purpose computers.
[0229] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0230] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A positioning method, characterized in that, The method includes: The system acquires navigation information from the terminal device and M location information from N positioning LEDs. The M location information includes: LED identifier, light intensity, and propagation delay. N is an integer, and M is an integer greater than or equal to 1. Based on the navigation information, a first candidate location is determined; Based on the M positioning information of the N positioning LED beads, determine M second candidate positions; Obtain multiple estimated positions, which are used to characterize the possible positions at the current time, determined by the terminal device based on its device information in the previous time step using maximum likelihood estimation. Based on the quantity N, determine the weight of the first candidate position and the weight of each candidate position among the M second candidate positions; For any of the estimated positions, the error corresponding to the estimated position is determined based on the first candidate position, the M second candidate positions, the weight of the first candidate position, the weight of each candidate position among the M second candidate positions, and the estimated position. The position with the smallest error among the multiple estimated positions is determined as the target position of the terminal device.
2. The method according to claim 1, characterized in that, The step of determining the error corresponding to the estimated position based on the first candidate position, the M second candidate positions, the weight of the first candidate position, the weight of each candidate position among the M second candidate positions, and the estimated position includes: Based on the first candidate position and the estimated position, a first error between the first candidate position and the estimated position is determined; Based on the M second candidate positions and the estimated position, determine M second errors between the estimated position and the M second candidate positions; The weighted average of the first error, the weight of the first candidate position, and each of the second errors and the weight of each candidate position is calculated to obtain the error corresponding to the estimated position.
3. The method according to claim 1 or 2, characterized in that, Based on the quantity N, the weight of the first candidate position and the weight of each candidate position among the M second candidate positions are determined, including: When N is 0, the weight of the first candidate position is the maximum value, and the weight of each candidate position among the M second candidate positions is the minimum value; When N is greater than 0, the weight of the first candidate position is inversely proportional to N. Among the M second candidate positions, the weight of the candidate position corresponding to the LED bead identifier is inversely proportional to N, and the weight of the candidate position corresponding to the light intensity and propagation delay is directly proportional to N.
4. The method according to claim 1 or 2, characterized in that, The device information includes at least one of the following: speed, acceleration, direction of movement, the previous location, and the confidence level of the location.
5. A positioning device, characterized in that, The device includes: The acquisition module is used to acquire navigation information of the terminal device and M positioning information of N positioning LEDs. The M positioning information includes: LED identification, light intensity, and propagation delay. N is an integer and M is an integer greater than or equal to 1. The determining module is used to determine a first candidate location based on the navigation information; and to determine M second candidate locations based on the M positioning information of the N positioning LEDs. The acquisition module is further configured to acquire multiple estimated positions determined by the terminal device based on its device information in the previous time step, which are used to characterize the possible position at the current time. The determining module is further configured to determine the weight of the first candidate position and the weight of each candidate position among the M second candidate positions according to the quantity N; for any estimated position, determine the error corresponding to the estimated position according to the first candidate position, the M second candidate positions, the weight of the first candidate position, the weight of each candidate position among the M second candidate positions, and the estimated position; and determine the position with the smallest error among the multiple estimated positions as the target position of the terminal device.
6. A positioning device, characterized in that, include: Memory, used to store programs; A processor for executing the program stored in the memory, wherein when the program is executed, the processor is configured to perform the method as described in any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that, Includes instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 4.
8. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1 to 4.
Citation Information
Patent Citations
Positioning method, storage medium and positioning system
CN109116298A
Data processing method and device and movable platform
CN112119413A