Positioning method, positioning apparatus, electronic terminal, electronic device, and storage medium
By constructing a target virtual device and using a single-antenna hardware device to generate the included angle and position coordinates, combined with the AOA positioning algorithm, the problem of insufficient positioning accuracy of single antennas in existing technologies is solved, and high-precision and widely applicable Bluetooth positioning is achieved.
Patent Information
- Application Number
- CN202111183479.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-11
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2041-10-11
AI Technical Summary
Existing Bluetooth positioning technology requires at least two antennas on the same device, which limits its application and makes it difficult to achieve high-precision single-antenna positioning.
By constructing a target virtual device, at least two hardware devices are virtualized into one. The angle and position coordinates are generated using a single-antenna hardware device, and high-precision positioning is achieved by combining the AOA positioning algorithm.
It enables high-precision positioning using only a single antenna hardware device, has a wide range of applications, fully utilizes the capabilities of surrounding hardware devices, and improves positioning accuracy and sharing capabilities.
Smart Images

Figure CN115963446B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of positioning technology, and more particularly to positioning methods, positioning devices, electronic terminals, electronic devices, and storage media. Background Technology
[0002] With the development of technology, Bluetooth positioning technology is being used more and more widely in daily life. Currently, Bluetooth positioning typically employs two centimeter-level positioning methods: Angle of Arrival (AOA) and Angle of Departure (AOD). These methods calculate the coordinates of the object by measuring test signals collected by at least two antennas on the same device. However, this method requires at least two antennas on the same device, which limits its application. Summary of the Invention
[0003] This invention aims to at least solve one of the technical problems existing in the prior art. To this end, this invention proposes a positioning method that can achieve high-precision positioning of the object under test using only a single antenna hardware device, and has universal applicability.
[0004] The present invention also proposes a positioning device.
[0005] The present invention also proposes an electronic terminal.
[0006] The present invention also proposes an electronic device.
[0007] The present invention also proposes a non-transitory computer-readable storage medium.
[0008] The present invention also proposes a computer program product.
[0009] A positioning method according to a first aspect of the present invention includes:
[0010] Construct target virtual devices, wherein there are at least two target virtual devices, and each target virtual device includes at least two hardware devices;
[0011] Based on the positioning information sent by at least two hardware devices of each target virtual device, the angle between each target virtual device and the object to be measured is generated;
[0012] Based on the included angles and the position coordinates of the hardware devices, the coordinates of the object to be tested are determined.
[0013] The positioning method according to embodiments of the present invention can perform high-precision positioning of the object under test using only a single antenna hardware device, and has universality; at the same time, it can also give full play to the capabilities of surrounding hardware devices to achieve capability sharing.
[0014] According to one embodiment of the present invention, constructing the target virtual device includes: aligning each of the hardware devices to a local time.
[0015] The step of generating the angle between each target virtual device and the object under test based on the positioning information sent by at least two hardware devices of each target virtual device includes:
[0016] The phase difference is determined based on the phase of the signals received by the at least two hardware devices;
[0017] Based on the phase difference, signal wavelength, and distance between the at least two hardware devices, the angle between each target virtual device and the object under test is generated.
[0018] According to one embodiment of the present invention, constructing the target virtual device includes:
[0019] Determine the distance between any two of the hardware devices;
[0020] The at least two hardware devices whose distance does not exceed the target threshold are constructed as the target virtual device.
[0021] According to one embodiment of the present invention, constructing the at least two hardware devices whose distance does not exceed a target threshold as the target virtual device includes:
[0022] If there are at least two groups of at least two hardware devices whose distance does not exceed the target threshold, the group with the shortest distance is constructed as the target virtual device.
[0023] According to one embodiment of the present invention, the hardware device portions of any two of the target virtual devices overlap.
[0024] According to an embodiment of the present invention, determining the coordinates of the object to be measured based on the included angles and the position coordinates of the hardware devices includes:
[0025] Based on the included angles and the position coordinates of the hardware devices, the coordinates of the object to be measured are obtained by applying the following formula:
[0026]
[0027]
[0028] Where x is the x-coordinate of the object to be tested, y is the y-coordinate of the object to be tested, x1 is the x-coordinate of the first target virtual device, y1 is the y-coordinate of the first target virtual device, x2 is the x-coordinate of the second target virtual device, y2 is the y-coordinate of the second target virtual device, θ1 is the included angle corresponding to the first target virtual device, and θ2 is the included angle corresponding to the second target virtual device.
[0029] According to one embodiment of the present invention, there are multiple objects to be tested, and the positioning information further includes: an object identifier corresponding to the object to be tested;
[0030] The step of generating the angle between each target virtual device and the object under test based on the positioning information sent by at least two hardware devices of each target virtual device further includes:
[0031] Based on the object identifier in the location information, the target location information is determined;
[0032] Based on the target positioning information, the angle between each target virtual device and the object to be tested corresponding to the object identifier is generated.
[0033] According to one embodiment of the present invention, the target virtual device is at least three, and the step of determining the coordinates of the object to be measured based on the included angles and the position coordinates of the hardware devices further includes:
[0034] Based on the included angle between any two target virtual devices and the position coordinates of the two target virtual devices, multiple alternative coordinates of the object to be tested are determined;
[0035] Based on the multiple alternative coordinates, the coordinates to be measured of the object to be measured are determined.
[0036] According to one embodiment of the present invention, the hardware device is a single-antenna device.
[0037] A positioning device according to a second aspect of the present invention includes:
[0038] A first processing module is used to construct target virtual devices, wherein there are at least two target virtual devices, and each target virtual device includes at least two hardware devices;
[0039] The second processing module is used to generate the angle between each target virtual device and the object to be measured based on the positioning information sent by at least two hardware devices of each target virtual device;
[0040] The third processing module is used to determine the coordinates of the object to be measured based on the included angles and the position coordinates of the hardware devices.
[0041] The positioning device according to the embodiments of the present invention can perform high-precision positioning of the object under test using only a single antenna hardware device, and has universality; in addition, by using at least two hardware devices for joint positioning, the capabilities of surrounding hardware devices can be fully utilized and the sharing capability of hardware devices can be improved.
[0042] An electronic terminal according to a third aspect of the present invention includes:
[0043] The positioning device as described in the second aspect.
[0044] An electronic device according to a fourth aspect of the present invention includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of any of the positioning methods described above.
[0045] According to a fifth aspect of the present invention, a non-transitory computer-readable storage medium is provided thereon storing a computer program that, when executed by a processor, implements the steps of any of the above-described positioning methods.
[0046] A computer program product according to a sixth aspect embodiment of the present invention includes a computer program, which, when executed by a processor, implements the steps of any of the positioning methods described above. The above-described one or more technical solutions in the embodiments of the present invention have at least one of the following technical effects:
[0047] By constructing at least two hardware devices as a target virtual device, the angle of arrival of the object under test relative to the target virtual device can be generated based on the positioning information sent by the at least two hardware devices. This allows the angle of arrival to be calculated using a single-antenna hardware device with high accuracy.
[0048] Furthermore, based on the position coordinates and angle of arrival of the target antennas of the two target virtual devices, the position information of the object under test can be determined, thereby realizing high-precision positioning of the object under test using a single antenna hardware device, which has a wide range of applications.
[0049] Furthermore, based on the object identifier, the target positioning information corresponding to the object identifier of the target object is determined from multiple test objects. Based on the target positioning information, the angle between the target object and the target antenna is generated. Based on this angle and the position coordinates of each target antenna, the target object is located, achieving high positioning accuracy and low positioning cost.
[0050] Furthermore, by locating the object under test based on at least three target virtual hardware devices, the positioning accuracy will increase as the number of target virtual devices increases; at the same time, the capabilities of surrounding hardware devices can be fully utilized to achieve capability sharing.
[0051] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. Attached Figure Description
[0052] To more clearly illustrate the technical solutions in the embodiments of the present invention 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 only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0053] Figure 1 This is a flowchart illustrating the positioning method provided in an embodiment of the present invention;
[0054] Figure 2 This is one of the schematic diagrams illustrating the principle of the positioning method provided in this embodiment of the invention;
[0055] Figure 3 This is the second schematic diagram of the principle of the positioning method provided in the embodiment of the present invention;
[0056] Figure 4 This is a schematic diagram of the positioning device provided in an embodiment of the present invention;
[0057] Figure 5 This is a schematic diagram of the structure of the electronic device provided in an embodiment of the present invention. Detailed Implementation
[0058] The embodiments of the present invention will be described in further detail below with reference to the accompanying drawings and examples. The following examples are for illustrative purposes only and should not be construed as limiting the scope of the invention.
[0059] In the description of the embodiments of the present invention, it should be noted that the terms "center," "longitudinal," "lateral," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing the embodiments of the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the embodiments of the present invention. In addition, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0060] In the description of the embodiments of the present invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "connected" and "linked" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium. Those skilled in the art can understand the specific meaning of the above terms in the embodiments of the present invention based on the specific circumstances.
[0061] In embodiments of the invention, "above" or "below" the second feature can mean that the first feature is in direct contact with the second feature, or that the first feature is in indirect contact through an intermediate medium. Furthermore, "above," "on top of," and "over" the second feature can mean that the first feature is directly above or diagonally above the second feature, or simply that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature can mean that the first feature is directly below or diagonally below the second feature, or simply that the first feature is at a lower horizontal level than the second feature.
[0062] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0063] The following is combined with Figures 1-3 The positioning method of this invention is described in an embodiment.
[0064] It should be noted that the entity executing this positioning method is a server, the cloud, or the user's terminal, where the terminal includes, but is not limited to, the user's mobile phone, tablet, or computer.
[0065] The following description uses a server as the execution subject to illustrate the embodiments of this application.
[0066] like Figure 1 As shown, in some embodiments, the positioning method includes steps 110, 120 and 130.
[0067] Step 110: The server constructs target virtual devices. There are at least two target virtual devices, and each target virtual device includes at least two hardware devices.
[0068] In this step, the hardware device receives signals broadcast by the object under test, generates location information based on the received signals, and sends the location information to the server.
[0069] Location information is generated by the hardware device based on the signals broadcast by the object under test, and is used to calculate the location of the object under test.
[0070] For example, when locating a mobile phone, the hardware device receives a signal broadcast by the mobile phone and generates location information based on the signal. The location information includes information such as the phase angle and wavelength of the same signal broadcast by the mobile phone that the hardware device receives.
[0071] The hardware device then sends the location information to the server, which determines the phone's location based on the phase angle in the location information.
[0072] Understandably, the hardware device is equipped with an antenna that can receive signals broadcast by the object under test. This antenna is electrically connected to a receiver chip on the hardware device to transmit the received signal to the receiver chip, generating the positioning information corresponding to the antenna.
[0073] The receiver chip can be a Bluetooth chip (BLE chip).
[0074] According to some embodiments of this application, the hardware device can be a single-antenna device, that is, the hardware device is equipped with only one antenna.
[0075] In some embodiments, the hardware device may be a device with a Bluetooth module, such as a smart refrigerator, a smart microwave oven, a smart TV, a smart air conditioner, and a smart desk lamp.
[0076] In some embodiments, the server can be a cloud server, which can meet the positioning requirements of virtual devices by performing virtual abstraction in the cloud and using cloud computing.
[0077] In this step, the number of hardware devices in each target virtual device must be at least two.
[0078] By virtualizing at least two hardware devices into a single target virtual device on a cloud server, a target virtual device with at least two antennas can be obtained. That is, the at least two antennas on the same target virtual device should correspond to at least two hardware devices.
[0079] Using the same method, construct at least two target virtual devices.
[0080] It is understood that in this step, the hardware devices of any two of the at least two target virtual devices constructed are different from each other; that is, at least two antennas on any two target virtual devices belong to different hardware devices.
[0081] For example, hardware device A and hardware device B are constructed as the first target virtual device, and hardware device C and hardware device D are constructed as the second target virtual device.
[0082] Of course, in other embodiments, the hardware of any two target virtual devices may partially overlap.
[0083] In this embodiment, some hardware devices of any two target virtual devices can be the same hardware device. For example, hardware device A and hardware device B can be constructed as the first target virtual device, and hardware device A and hardware device C can be constructed as the second target virtual device. Here, hardware device A is a reused hardware device. In this embodiment, reusing some hardware devices helps to reduce both the construction space and construction costs.
[0084] Step 120: Based on the positioning information sent by at least two hardware devices of each target virtual device, generate the angle between each target virtual device and the object to be tested.
[0085] In this embodiment, the positioning information is generated by the hardware device based on the signal broadcast by the object under test, and is used to calculate the position of the object under test.
[0086] Location information includes the phase angle of the same signal broadcast by the object under test, received by the antenna on the hardware device. Each hardware device has its own location information.
[0087] After the hardware device generates location information based on the signal broadcast by the object under test, it sends the location information to the server so that step 120 can be executed by the server.
[0088] In this step, the server can generate the angle between the object under test and each target virtual device based on the location information.
[0089] The angle between the object under test and the target virtual device, also known as the angle of arrival, is the angle between the line connecting the object under test and the target virtual device and the baseline.
[0090] It should be noted that the baseline is a user-defined auxiliary line used to calculate the included angle. Under normal circumstances, the baseline can be set to a horizontal line.
[0091] Specifically, this included angle is the angle between the line connecting the object under test and the target antenna on the target virtual device and the baseline.
[0092] The target antenna is an antenna on one of the target hardware devices among at least two hardware devices of the target virtual device.
[0093] It should be noted that the target hardware device is theoretically the antenna that is furthest from the object under test among at least two hardware devices on the same target virtual device.
[0094] The target hardware device includes at least one antenna. If the target hardware device has only one antenna, that antenna is the target antenna. If the target hardware device includes multiple antennas, the target antenna is theoretically the antenna that is furthest from the object under test among the multiple antennas.
[0095] However, in actual execution, the distance between hardware devices in the same target virtual device is much smaller than the distance between the hardware device and the object under test, and the distance between antennas on the same hardware device is much smaller than the distance between the antenna and the object under test. In other words, the distance between antennas on the same target virtual device is much smaller than the distance between the target virtual device and the object under test.
[0096] We can approximate that the angles between each antenna on the same target virtual device and the object under test are equal. Therefore, the target hardware device in any target virtual device can be any one of the hardware devices in the target virtual device. That is, the target antenna in any target virtual device can be any one of at least two antennas.
[0097] In actual execution, each hardware device sends its corresponding positioning information to the server. The server constructs at least two hardware devices into a target virtual device and receives the positioning information sent by at least two hardware devices on the target virtual device. Based on the positioning information, the server generates the angle between the object under test and the target antenna in the target virtual device.
[0098] Using the same method, the angle between the object under test and the target antenna in another target virtual device can be obtained. After generating at least two angles, step 130 is executed.
[0099] Step 130: Determine the coordinates of the object to be measured based on the included angles and the position coordinates of each hardware device.
[0100] Understandably, each antenna on a hardware device corresponds to a location coordinate, which can be pre-stored in the server.
[0101] In this step, based on the position coordinates of the target antennas on at least two target virtual devices and the included angles corresponding to the target antennas, the position information of the object to be measured, i.e., the coordinates to be measured, can be calculated and generated.
[0102] During the research and development process, the inventors discovered that in the existing technology, when using angle of arrival (AOA) positioning technology to locate the object under test, it is required that at least two antennas be set on the same hardware device to collect the signal of the object under test, which has significant limitations.
[0103] In this invention, by virtualizing at least two hardware devices into the same target virtual device in the cloud, and based on the positioning information corresponding to at least two antennas on the target virtual device, the angle of arrival of the object under test relative to the target virtual device can be calculated. Based on the two angles of arrival, the distance of the object under test can be calculated, thereby realizing the positioning of the object under test using a single antenna device.
[0104] For example, users can locate keys using smart refrigerators, smart microwave ovens, and smart induction cookers.
[0105] In practice, Bluetooth modules can be installed on smart refrigerators, smart microwave ovens, smart induction cookers, and keychains. Communication between these devices is achieved by connecting them to the same local area network.
[0106] A cloud server connected to a mobile phone virtualizes the Bluetooth modules installed in smart refrigerators, smart microwave ovens, and smart induction cookers as two target virtual devices. For example, two Bluetooth modules installed in a smart refrigerator and a smart microwave oven are virtualized as the first target virtual device, and two Bluetooth modules installed in a smart refrigerator and a smart induction cooker are virtualized as the second target virtual device.
[0107] The Bluetooth module on the keychain broadcasts a signal to the surroundings. This signal is received by Bluetooth modules located on the smart induction cooker, smart microwave oven, and smart refrigerator, and location information is generated based on the signal.
[0108] The cloud server, connected to the mobile phone, receives location information sent by the smart refrigerator, smart microwave oven, and smart induction cooker respectively, and determines the target antenna in each target virtual device.
[0109] For example, the target antenna in the first target virtual device is determined to be the Bluetooth antenna installed in the smart microwave oven, and the target antenna in the second target virtual device is determined to be the Bluetooth antenna installed in the smart induction cooker.
[0110] Subsequently, based on the location information, the cloud server generates a first angle between the keychain and the Bluetooth antenna installed in the smart microwave oven, and a second angle between the keychain and the Bluetooth antenna installed in the smart induction cooker; and determines the coordinates to be measured of the keychain based on the position coordinates of the Bluetooth antenna installed in the smart microwave oven, the position coordinates of the Bluetooth antenna installed in the smart induction cooker, the first angle, and the second angle.
[0111] According to this embodiment, by constructing at least two hardware devices into a target virtual device, the angle of arrival of the object under test relative to the target virtual device can be generated based on the positioning information sent by the at least two hardware devices. Based on the position coordinates and angle of arrival of the two target virtual devices, the position information of the object under test can be determined, thereby realizing high-precision positioning of the object under test using a single antenna hardware device, which has a wide range of applications.
[0112] During the research and development process, the inventors also discovered that there are other methods for positioning using time difference, such as using TDOA positioning technology to obtain the position of the point to be measured based on the signals sent by multiple single-antenna Bluetooth devices within a cycle and their arrival times. Although this technology can achieve positioning with a single antenna, the positioning accuracy is low and there is a large measurement error.
[0113] In this application, by virtually abstracting at least two hardware devices into a single target virtual device, the angle of arrival based on a single antenna can be calculated. After obtaining the angle of arrival corresponding to the two target virtual devices, the target object can be located by using the position coordinates of the target antennas on each target virtual device and the angle between each target antenna pair in each target virtual device and the object under test, thus achieving higher positioning accuracy.
[0114] The following specific examples illustrate how to calculate the angle between the object under test and the target virtual device.
[0115] In some embodiments, step 110 further includes: aligning the hardware devices to local time;
[0116] Step 120 includes:
[0117] The phase difference is determined based on the phase of the signals received by at least two hardware devices;
[0118] Based on the phase difference, signal wavelength, and distance between at least two hardware devices, the angle between each target virtual device and the object under test is generated.
[0119] In this embodiment, the angle between the target virtual device and the object under test is the angle between the target antenna corresponding to the target virtual device and the object under test, which is approximately equal to the angle between any antenna in the target virtual device and the object under test.
[0120] Before constructing the target virtual device, the hardware device should be aligned to local time to improve positioning accuracy.
[0121] In actual implementation, such as Figure 2 As shown, after constructing the target virtual device, the first and second hardware devices each have one antenna, namely antenna A and antenna B, and both the first and second hardware devices are connected to the cloud server for communication.
[0122] The angle between antenna A and the object under test is α, and the angle between antenna B and the object under test is β. It should be noted that α and β are unknowns.
[0123] In actual execution, the cloud server aligns the local time of the first and second hardware devices and receives the positioning information corresponding to antenna A sent by the first hardware device and the positioning information corresponding to antenna B sent by the second hardware device.
[0124] The positioning information includes the phase of the same signal received by antenna A and antenna B.
[0125] The cloud server reads the phase difference and applies the formula:
[0126] θ=arccos((λψ) / (2πd))
[0127] This allows us to determine the angle between antenna B and the object under test;
[0128] Where θ is the angle between the target antenna and the object under test in the target virtual device, λ is the signal wavelength, ψ is the phase difference between the same signal received by antenna A and antenna B, and d is the distance between antenna A and antenna B.
[0129] In this embodiment, antenna B is the target antenna, and θ is the angle between antenna B and the object to be measured.
[0130] The following description will continue using the example of locating a key to illustrate this embodiment.
[0131] The cloud server, which communicates with the mobile phone, aligns the local time of two Bluetooth modules located in the smart refrigerator and smart microwave oven, virtualizing them as a target virtual device, and identifies the target antenna in the target virtual device as the Bluetooth antenna located in the smart microwave oven.
[0132] By reading the phase angles sent by the two Bluetooth modules, the phase difference is determined. Then, by reading the distance between the antennas on the two Bluetooth modules in the smart refrigerator and the smart microwave oven stored in the database, the first angle between the Bluetooth antenna in the smart microwave oven and the keychain can be determined using the above formula.
[0133] The second included angle between the Bluetooth antenna in the smart induction cooker and the keychain can be determined in the same way, which will not be elaborated here. It should be noted that in some embodiments, the distance D between antenna A and antenna B must be less than the target threshold to reduce calculation errors.
[0134] In some embodiments, step 110 further includes:
[0135] Determine the distance between any two hardware devices;
[0136] Construct a target virtual device from at least two hardware devices that are no more than a target threshold apart.
[0137] The target threshold can be the signal wavelength.
[0138] In practice, before constructing the target virtual device, the distance between any two hardware devices must be calculated, and two hardware devices whose distance does not exceed the signal wavelength must be selected to construct the target virtual device.
[0139] In some embodiments, if there are two or more groups of hardware devices whose distance does not exceed a target threshold, the group of hardware devices that is closest to each other is selected as the target virtual device. This improves the accuracy of positioning.
[0140] Of course, in other embodiments, the number of antennas on the hardware device can be any other value, such as 2, 4 or 6, etc.
[0141] According to the positioning method provided in the embodiments of the present invention, by constructing at least two hardware devices as target virtual devices, and receiving positioning information sent by at least two hardware devices on the target virtual devices, the angle between the object to be measured and the target antenna can be obtained based on the distance between at least two antennas and the positioning information. Thus, the angle of arrival can be calculated using only a single antenna hardware device. Based on the angle of arrival of at least two target virtual devices plus the first one, the position information of the object to be measured can be determined. It has a wide range of applications and high accuracy. At the same time, it can also give full play to the capabilities of surrounding hardware devices to achieve capability sharing.
[0142] It should be noted that after receiving the location information sent by the hardware device, the server needs to match the location coordinates of the hardware device corresponding to the location information with the location coordinates of multiple hardware devices stored in the database.
[0143] The following specific embodiments illustrate how the location coordinates of hardware devices are determined.
[0144] In some embodiments, the location information further includes: the hardware identifier corresponding to the hardware device;
[0145] Prior to step 120, the positioning method further includes: determining the position coordinates of the antenna corresponding to the hardware device based on the hardware identifier.
[0146] The hardware identifier is used to characterize the features of the hardware device. Based on the hardware identifier, the hardware device corresponding to the hardware identifier can be identified from multiple hardware devices.
[0147] There is a unique correspondence between hardware identifiers and hardware devices.
[0148] It is understandable that different hardware devices have different hardware identifiers.
[0149] After receiving the location information sent by the hardware device, the server matches the location coordinates of the hardware device corresponding to that hardware identifier in the database based on the hardware identifier in the location information.
[0150] Then, based on the location coordinates corresponding to the hardware identifier in the positioning information, the distance information can be obtained.
[0151] For example, such as Figure 2 Based on the position coordinates of antennas A and B on the two hardware devices shown, the distance d between antennas A and B can be obtained. This distance d is also the distance between antennas A and B corresponding to the target virtual device constructed by these two hardware devices. Based on this distance d, the angle between antenna B and the object under test can be determined.
[0152] In a smart home environment, the location coordinates of smart appliances set up in that environment can be stored, along with the corresponding hardware identifiers for each location coordinate. For example, the location coordinates of a smart refrigerator, a smart induction cooker, and a smart microwave oven can be stored in a database.
[0153] When a smart refrigerator, smart microwave oven, or smart induction cooker receives a signal broadcast by the object under test, it generates a phase angle and the corresponding hardware identifier based on the signal, and then sends the phase angle and the corresponding hardware identifier to the cloud.
[0154] Based on hardware identifiers, the cloud matches phase angles with the location coordinates of hardware devices stored in the database to determine the location coordinates of the hardware devices corresponding to each phase angle.
[0155] The positioning method provided by the present invention improves the accuracy of positioning results by setting hardware identifiers to accurately identify corresponding hardware devices and matching the location coordinates of hardware devices according to the hardware identifiers.
[0156] In some embodiments, step 120 may further include:
[0157] Based on the position coordinates and the included angle, a positioning algorithm that measures the distance from the arrival angle is applied to obtain the coordinates of the object to be measured.
[0158] Among them, the positioning algorithm based on angle of arrival is called the AOA positioning algorithm. It is a positioning method that uses two or more receiving antennas. It uses certain hardware devices, such as antenna arrays, to sense the direction of arrival of the transmitting node signal, calculates the relative azimuth or angle between the object to be measured and the receiving antenna, and then uses triangulation to calculate the position of the node.
[0159] Its positioning principle is as follows:
[0160] like Figure 3 As shown, there are two target virtual devices. The first target virtual device includes antenna A and antenna B, and the second target virtual device includes antenna C and antenna D. Antennas A, B, C, and D belong to different hardware devices.
[0161] The target object is located using target antenna B on the first target virtual device and target antenna C on the second target virtual device, respectively. The positions of antennas B and C are known, respectively, B(x1, y1) and B(x2, y1). 1) In the case of C(x2, y2),
[0162] Based on the test signals sent by antennas A, B, C, and D, the server uses the above formula to calculate the angle θ1 between the target antenna B and the object under test in the first target virtual device and the angle θ2 between the target antenna C and the object under test in the second target virtual device, respectively.
[0163] Based on the values of B(x1,y1), C(x2,y2), and θ1 and θ2, the server can calculate the position information of the object under test.
[0164] The following explanation uses triangulation as an example to illustrate the positioning principle described above.
[0165] In some embodiments, when using the AOA positioning algorithm for positioning, the coordinates to be measured can be calculated and generated based on the position coordinates and the included angle to determine the position information of the object to be measured.
[0166] The formula for this triangulation method is as follows:
[0167]
[0168]
[0169] Where x is the x-coordinate of the object under test, y is the y-coordinate of the object under test, x1 is the x-coordinate of the first target antenna, y1 is the y-coordinate of the first target antenna, x2 is the x-coordinate of the second target antenna, y2 is the y-coordinate of the second target antenna, θ1 is the included angle corresponding to the first target antenna, and θ2 is the included angle corresponding to the second target antenna.
[0170] Continuing with the example of locating a key, the above embodiments will be explained.
[0171] After the cloud server connected to the mobile phone generates the first angle θ1 between the key chain and the Bluetooth antenna in the smart microwave oven, and the second angle θ2 between the key chain and the Bluetooth antenna in the smart induction cooker, based on the location information, the position coordinates (x, y) of the key chain can be obtained by using the above formula, based on the position coordinates (x1, y1) of the Bluetooth antenna in the smart microwave oven and the position coordinates (x2, y2) of the Bluetooth antenna in the smart induction cooker stored in the database.
[0172] It should be noted that when the hardware device is a single-antenna device, (x1, y1) or (x2, y2) are the position coordinates of the single antenna on the hardware device.
[0173] According to the positioning method provided in the embodiments of the present invention, the object to be measured is located by using AOA positioning technology, which has high positioning accuracy and small error.
[0174] The positioning method of the present invention will be described from two implementation perspectives below.
[0175] 1. There are multiple objects to be tested.
[0176] The following examples are applicable to scenarios such as asset management, including location management of materials in a warehouse or books in a library.
[0177] In some embodiments, there are at least two objects to be tested, and the location information further includes: the object identifier corresponding to the object to be tested;
[0178] Step 120 also includes:
[0179] Based on the object identifier in the location information, the target location information is obtained;
[0180] Based on the target positioning information, the angle between the object under test corresponding to the object identifier and the target antenna in each target virtual device is generated.
[0181] Among them, the object identifier is used to characterize the features of the object to be tested;
[0182] The object under test and the object identifier have a unique correspondence.
[0183] It is understandable that different test objects have different characteristics, so the object identifiers corresponding to different test objects are also different.
[0184] In this embodiment, based on the object identifier, the target location information corresponding to the object identifier can be determined from multiple location information.
[0185] For example, when managing multiple objects within a target space, and needing to locate the current position of one of the target objects under test,
[0186] Based on the object identifier of the target object under test, the server matches the location information corresponding to the object identifier of the target object under test from multiple acquired location information, i.e., the target location information.
[0187] The target location information includes the object identifier of the target object to be measured.
[0188] Then, the server generates the angle of arrival of the target object based on the pre-stored position coordinates of each hardware device, and performs AOA positioning calculation based on the angle of arrival to obtain the current coordinates of the target object.
[0189] According to the embodiments provided by the present invention, target positioning information corresponding to the object identifier of the target object is determined from multiple objects to be tested based on the object identifier, and the target object to be tested is located based on the position coordinates of each target antenna and the angle between the target object to be tested and each target antenna in the target positioning information. The positioning accuracy is high and the positioning cost is low.
[0190] 2. There must be at least three target virtual devices.
[0191] The following examples are applicable to application scenarios with high positioning accuracy requirements.
[0192] In some embodiments, step 120 may further include:
[0193] Based on the position coordinates of the target antennas corresponding to any two target virtual devices, and the included angle between the target virtual devices, multiple alternative coordinates of the object to be tested are determined.
[0194] Based on multiple alternative coordinates, the coordinates to be measured of the object to be measured are determined.
[0195] Among them, the alternative coordinates are the coordinates of the object to be measured, determined based on any two target virtual devices.
[0196] Understandably, when there are two or more target virtual devices, they can be arbitrarily combined in pairs, and multiple alternative coordinates can be obtained through AOA calculation.
[0197] In this embodiment, by calculating the angle of arrival based on any two target virtual devices, multiple alternative coordinates corresponding to different objects to be measured can be obtained.
[0198] The server performs algorithm-based calculations on multiple candidate coordinates, such as averaging multiple candidate coordinates or using algorithms to fit the core regions of multiple candidate coordinates, to further process the multiple candidate coordinates and thus calculate the coordinates to be measured.
[0199] According to the embodiments provided by the present invention, the positioning accuracy of the object under test is increased as the number of hardware devices increases by locating the object based on at least three target virtual devices; at the same time, the capabilities of surrounding hardware devices can be fully utilized to achieve capability sharing.
[0200] The positioning device provided in the embodiments of the present invention is described below. The positioning device described below and the positioning method described above can be referred to in correspondence.
[0201] Understandably, this positioning device is used on the server side.
[0202] like Figure 4 As shown, in some embodiments, the positioning device includes: a first processing module 410, a second processing module 410, and a third processing module 430.
[0203] The first processing module 410 is used to construct target virtual devices, wherein there are at least two target virtual devices, and each target virtual device includes at least two hardware devices;
[0204] The second processing module 420 is used to generate the angle between each target virtual device and the object under test based on the positioning information sent by at least two hardware devices of each target virtual device;
[0205] The third processing module 430 is used to determine the coordinates of the object to be measured based on the included angles and the position coordinates of each hardware device.
[0206] The positioning device provided in the embodiments of the present invention constructs at least two hardware devices as a target virtual device, receives positioning information sent by at least two hardware devices on the target virtual device, and obtains the angle between the object to be measured and the target antenna based on the distance between at least two antennas and the positioning information. Thus, the angle of arrival can be calculated using only a single antenna hardware device, and the position information of the object to be measured can be determined based on the angle of arrival of at least two target virtual devices plus the first one. It has a wide range of applications and high accuracy; at the same time, it can also give full play to the capabilities of surrounding hardware devices to achieve capability sharing.
[0207] In some embodiments, the first processing module 410 is further configured to perform local time alignment on each hardware device;
[0208] The second processing module 420 is also used for:
[0209] The phase difference is determined based on the phase of the signals received by at least two hardware devices;
[0210] Based on the phase difference, signal wavelength, and distance between at least two hardware devices, the angle between each target virtual device and the object under test is generated.
[0211] In some embodiments, the first processing module 410 is further configured to:
[0212] Determine the distance between any two hardware devices;
[0213] Construct a target virtual device from at least two hardware devices that are no more than a target threshold apart.
[0214] In some embodiments, the first processing module 410 is further configured to: construct the group with the shortest distance as the target virtual device when there are at least two groups of at least two hardware devices whose distance does not exceed the target threshold.
[0215] In some embodiments, the hardware devices of any two target virtual devices overlap.
[0216] In some embodiments, the third processing module 430 is further configured to:
[0217] Based on the position coordinates and the included angle, a positioning algorithm that measures the distance from the arrival angle is applied to obtain the coordinates of the object to be measured.
[0218] In some embodiments, the third processing module 430 is further configured to:
[0219] Application formula:
[0220]
[0221]
[0222] Obtain the coordinates of the object to be measured;
[0223] Where x is the x-coordinate of the object to be measured, y is the y-coordinate of the object to be measured, x1 is the x-coordinate of the first target virtual device, y1 is the y-coordinate of the first target virtual device, x2 is the x-coordinate of the second target virtual device, y2 is the y-coordinate of the second target virtual device, θ1 is the included angle corresponding to the first target virtual device, and θ2 is the included angle corresponding to the second target virtual device.
[0224] According to this embodiment, high-precision positioning can be achieved by using the AOA positioning algorithm to locate the object under test.
[0225] In some embodiments, there are at least two objects to be tested, and the location information further includes: the object identifier corresponding to the object to be tested;
[0226] The second processing module 420 is also used for:
[0227] Based on the object identifier in the location information, determine the target location information;
[0228] Based on the target positioning information, the angle between each target virtual device and the object to be tested corresponding to the object identifier is generated.
[0229] According to this embodiment, by setting an object identifier, the target positioning information corresponding to the object identifier can be accurately matched from the positioning information corresponding to multiple objects to be tested, thereby accurately locating the object to be tested corresponding to the target positioning information from multiple objects to be tested, which has a wide range of applications.
[0230] In some embodiments, the number of target virtual devices is two or more, and the third processing module 430 is further configured to:
[0231] Based on the included angle between any two target virtual devices and the position coordinates of the two target virtual devices, determine multiple alternative coordinates of the object to be measured;
[0232] Based on multiple alternative coordinates, the coordinates to be measured of the object to be measured are determined.
[0233] According to the positioning device provided in the embodiments of the present invention, the positioning accuracy increases as the number of hardware devices increases by locating the object under test based on at least three target virtual devices; at the same time, it can also give full play to the capabilities of surrounding hardware devices and realize capability sharing.
[0234] The electronic terminal provided in the embodiments of the present invention will be described below. The electronic terminal described below can be referred to in correspondence with the positioning method described above.
[0235] According to some embodiments of the present invention, the electronic terminal includes:
[0236] The positioning device as described above.
[0237] This positioning device is used to perform any of the positioning methods shown above.
[0238] In practice, the positioning device can be placed on the user's terminal, such as the user's mobile phone or computer.
[0239] For example, in the case of location tracking, such as real-time location tracking of a vehicle, users can track the vehicle's location information in real time through a positioning device set in their mobile phone.
[0240] For example, in asset management, such as managing material information in a warehouse, managers can use a positioning device installed in a computer to manage the real-time location of multiple materials.
[0241] According to the electronic terminal of this embodiment, two antennas that belong to two hardware devices in physical space are virtualized into an antenna on the same virtual device through virtual abstraction. Thus, the angle of arrival can be calculated using only a single antenna hardware device, thereby enabling high-precision positioning of the object under test and achieving high versatility.
[0242] Figure 5 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 5 As shown, the electronic device may include a processor 510, a communications interface 520, a memory 530, and a communication bus 540. The processor 510, communications interface 520, and memory 530 communicate with each other via the communication bus 540. The processor 510 can call logical instructions in the memory 530 to execute a positioning method. This method includes: constructing at least two target virtual devices, each target virtual device including at least two hardware devices; generating the angles between each target virtual device and the object under test based on positioning information sent by the at least two hardware devices of each target virtual device; and determining the coordinates of the object under test based on the angles and the position coordinates of each hardware device.
[0243] Furthermore, the logical instructions in the aforementioned memory 530 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, essentially, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0244] Furthermore, this invention discloses a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions, and when the program instructions are executed by a computer, the computer can execute the positioning method provided in the above-described method embodiments. The method includes: constructing target virtual devices, wherein there are at least two target virtual devices, and each target virtual device includes at least two hardware devices; generating the angle between each target virtual device and the object to be measured based on the positioning information sent by the at least two hardware devices of each target virtual device; and determining the coordinates of the object to be measured based on each angle and the position coordinates of each hardware device.
[0245] On the other hand, embodiments of the present invention also provide a non-transitory computer-readable storage medium storing a computer program thereon. When executed by a processor, the computer program is implemented to perform the positioning method provided in the above embodiments. The method includes: constructing target virtual devices, wherein there are at least two target virtual devices, and each target virtual device includes at least two hardware devices; generating the angle between each target virtual device and the object to be measured based on the positioning information sent by the at least two hardware devices of each target virtual device; and determining the coordinates to be measured of the object to be measured based on each angle and the position coordinates of each hardware device.
[0246] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0247] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0248] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention 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 of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
[0249] The above embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. Although the invention has been described in detail with reference to the embodiments, those skilled in the art should understand that various combinations, modifications, or equivalent substitutions of the technical solutions of the invention do not depart from the spirit and scope of the invention and should be covered within the scope of the claims of the invention.
Claims
1. A positioning method, characterized in that, include: Construct target virtual devices, wherein there are at least two target virtual devices, and each target virtual device includes at least two hardware devices; The hardware device is a single-antenna device; the target virtual device includes at least two antennas; Based on the positioning information sent by at least two hardware devices of each target virtual device, the angle between each target virtual device and the object to be measured is generated; Based on the included angles and the position coordinates of the hardware devices, the coordinates of the object to be measured are determined. The construction of the target virtual device includes: Determine the distance between any two of the hardware devices; The at least two hardware devices whose distance does not exceed the target threshold are constructed as the target virtual device; The step of constructing the at least two hardware devices whose distance does not exceed the target threshold as the target virtual device includes: If there are at least two groups of at least two hardware devices whose distance does not exceed the target threshold, the group with the shortest distance is constructed as the target virtual device.
2. The positioning method according to claim 1, characterized in that, The construction of the target virtual device includes: aligning each of the hardware devices to a local time. The step of generating the angle between each target virtual device and the object under test based on the positioning information sent by at least two hardware devices of each target virtual device includes: The phase difference is determined based on the phase of the signals received by the at least two hardware devices; Based on the phase difference, signal wavelength, and distance between the at least two hardware devices, the angle between each target virtual device and the object under test is generated.
3. The positioning method according to claim 1, characterized in that, The hardware components of any two of the target virtual devices overlap.
4. The positioning method according to claim 1, characterized in that, Determining the coordinates of the object to be measured based on the included angles and the position coordinates of the hardware devices includes: Based on the included angles and the position coordinates of the hardware devices, the coordinates of the object to be measured are obtained by applying the following formula: Where x is the x-coordinate of the object to be tested, y is the y-coordinate of the object to be tested, x1 is the x-coordinate of the first target virtual device, y1 is the y-coordinate of the first target virtual device, x2 is the x-coordinate of the second target virtual device, y2 is the y-coordinate of the second target virtual device, θ1 is the included angle corresponding to the first target virtual device, and θ2 is the included angle corresponding to the second target virtual device.
5. The positioning method according to any one of claims 1-4, characterized in that, The objects to be tested are multiple, and the location information also includes: the object identifier corresponding to the object to be tested; The step of generating the angle between each target virtual device and the object under test based on the positioning information sent by at least two hardware devices of each target virtual device further includes: Based on the object identifier in the location information, the target location information is determined; Based on the target positioning information, the angle between each target virtual device and the object to be tested corresponding to the object identifier is generated.
6. The positioning method according to any one of claims 1-4, characterized in that, The target virtual devices are at least three, and the step of determining the coordinates of the object to be measured based on the included angles and the position coordinates of the hardware devices further includes: Based on the included angle between any two target virtual devices and the position coordinates of the two target virtual devices, multiple alternative coordinates of the object to be tested are determined; Based on the multiple alternative coordinates, the coordinates to be measured of the object to be measured are determined.
7. A positioning device, characterized in that, The positioning device comprising the steps of the positioning method according to any one of claims 1 to 6 is: A first processing module is used to construct target virtual devices, wherein there are at least two target virtual devices, and each target virtual device includes at least two hardware devices; the hardware devices are single-antenna devices; and each target virtual device includes at least two antennas. The second processing module is used to generate the angle between each target virtual device and the object to be measured based on the positioning information sent by at least two hardware devices of each target virtual device; The third processing module is used to determine the coordinates of the object to be measured based on the included angles and the position coordinates of the hardware devices.
8. An electronic terminal, characterized in that, include: The positioning device as described in claim 7.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the positioning method as described in any one of claims 1 to 6.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the positioning method as described in any one of claims 1 to 6.
11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the positioning method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
RFID (Radio Frequency Identification )-based grid positioning system and method
CN102736061A
Positioning base station, system and method
CN109212471A
Bluetooth positioning method, device and system and storage medium
CN112702785A