The present disclosure relates to a positioning apparatus, a positioning method, and a positioning program.
There is a technique that performs three-dimensional positioning of a terminal that is present in a space where multiple base stations are installed and that performs wireless communication with each of the multiple base stations, on the basis of a relative angle formed by each one of the multiple base stations and the terminal.
Non-Patent Literature 1 discloses a technique to determine the position of a terminal based on information on the relative angle between the terminal and each base station. The technique disclosed by Non-Patent Literature 1 has a challenge that an error is large when the shape of an area where the terminal is present is not a perfect cube.
An object of the present disclosure is to reduce an error when the shape of the area where a terminal is present is not a perfect cube in three-dimensional positioning of the terminal that uses the relative angle formed by each base station and the terminal.
A positioning apparatus according to the present disclosure includes:
According to the present disclosure, the influence of an error contained in the three-dimensional position of the terminal is reduced by determining a position as an aggregation of the two-dimensional position of the terminal and the three-dimensional position of the terminal as the position of the terminal. Thus, according to the present disclosure, an error can be reduced when the shape of the area where the terminal is present is not a perfect cube in three-dimensional positioning of the terminal that uses the relative angle formed by each base station and the terminal.
In the description of embodiments and the drawings, the same elements and corresponding elements are given the same reference characters, Description of elements with the same reference characters are omitted or simplified as appropriate. Arrows in the drawings primarily indicate flows of data or flows of processing. Also, a “unit” may be read as a “circuit”, “step”, “procedure”, “process”, or “circuitry” as appropriate.
The present embodiment is described in detail below with reference to drawings.
The positioning apparatus 100 is a device that estimates a three-dimensional position of a terminal in a case where a relative angle formed by the terminal and each of multiple base stations is being observed. Assume here that each of the multiple base stations is fixed within a space and the respective three-dimensional positions of the multiple base stations are known. Also, wireless communication is performed between the terminal and each of the multiple base stations and the relative angle formed 1w the terminal and each of the multiple base stations is observed based on wireless communication. The wireless communication is communication compliant with the Bluetooth (registered trademark) standard, as a specific example, There may be multiple terminals, in which case the positioning apparatus 100 estimates the position of each terminal. The description below assumes a three-dimensional space and an LOS (Line of Sight) environment.
The relative angle acquisition unit 110 acquires information showing the relative angle between the terminal and each base station.
The temporary position computation unit 120 computes a temporary position of the terminal based on the information acquired by the relative angle acquisition unit 110 and information acquired by the base station information acquisition unit 130. As a specific example, the temporary position computation unit 120 determines the temporary position of the terminal using multiple two-dimensional direction vectors and multiple three-dimensional direction vectors. The multiple two-dimensional direction vectors are vectors that are each computed using each of multiple observed angles which has been observed as an angle formed by the position of each of multiple base stations and a terminal communicating with each one of the multiple base stations in a three-dimensional space, the vectors being based on an angle for a two-dimensional direction of the multiple observed angles. The multiple three-dimensional direction vectors are vectors that are each computed using each of the multiple observed angles and are based on an angle for a three-dimensional direction of the multiple observed angles. A two-dimensional component is a component, that corresponds to a two-dimensional space, among the components of a vector. A three-dimensional component is a component, that corresponds to a three-dimensional space, among the components of a vector.
The base station information acquisition unit 130 acquires base station information corresponding to each base station. The base station information includes information showing the position of each base station and information showing a base station ID (Identifier).
The two-dimensional position computation unit 140 computes a two-dimensional position of the terminal based on the temporary position computed by the temporary position computation unit 120. A two-dimensional position is a position expressed in two-dimensional form. The two-dimensional position computation unit 140 determines the two-dimensional position of the terminal using the two-dimensional component of the position of each of the multiple base stations, the multiple two-dimensional direction vectors, and multiple two-dimensional weights. The multiple two-dimensional weights are each a weight corresponding to the two-dimensional component of the position of each of the multiple base stations and determined based on the two-dimensional component of the position of each of the multiple base stations and on the two-dimensional component of the temporary position. Each of the multiple two-dimensional weights may also be a value that is dependent on an inverse of a distance formed between the two-dimensional component of the position of each of the multiple base stations and the two-dimensional component of the temporary position.
The three-dimensional position computation unit 150 computes a three-dimensional position of the terminal based on the temporary position computed by the temporary position computation unit 120. A three-dimensional position is a position expressed in three-dimensional form. The three-dimensional position computation unit 150 determines the three-dimensional position of the terminal using the three-dimensional component of the position of each of the multiple base stations, the multiple three-dimensional direction vectors, and multiple three-dimensional weights. The multiple three-dimensional weights are each a weight corresponding to the three-dimensional component of the position of each of the multiple base stations and determined based on the three-dimensional component of the position of each of the multiple base stations and on the three-dimensional component of the temporary position. Each of the multiple three-dimensional weights may also be a value that is dependent on an inverse of a distance formed between the three-dimensional component of the position of each of the multiple base stations and the three-dimensional component of the temporary position.
The position aggregation unit 160 computes the position of the terminal by aggregating the two-dimensional position computed by the two-dimensional position computation unit 140 and the three-dimensional position computed by the three-dimensional post ion computation unit 150.
The parameter changing unit 170 changes the value of a parameter used by the position aggregation unit 160 appropriately. As a specific example, the parameter changing unit 170 changes the value of a weighted mean parameter, which is a parameter used with a weighted mean, to a value that is dependent on the shape of a target area. The target area is an area where the terminal is located and the area is defined based on the temporary position. The parameter changing unit 170 may also change the value of the weighted mean parameter in accordance with a ratio of a length of the target area in a shorter direction to a length of the target area in a longer direction and a ratio between a diagonal length of the target area in two dimensions and a height of the target area. The parameter changing unit 170 may also change the value of the weighted mean parameter with reference to a lookup table that shows values of the weighted mean parameter on a condition by condition basis.
Various types can be contemplated for possible configuration examples of a positioning system 90 including the positioning apparatus 100. A representative configuration example of the positioning system 90 is described below with reference to drawings. The positioning apparatus 100 is provided in any of the components shown in each example or by being distributed in at least any of the components as appropriate.
In this example, the terminal first transmits information showing its terminal ID to each base station. Then, each base station receives the information showing the terminal ID from the terminal, performs an AOA (Angle-Of-Arrival) calculation based on the received information and observation data of each base station, and transmits information showing each of the result of the ADA calculation and its base station ID to the terminal. Next, the terminal performs a positioning calculation based on the information received from the respective base stations. Here, the positioning calculation is a calculation related to three-dimensional positioning of the terminal.
In this example, the terminal transmits the information received from each base station to the locator in order to delegate the execution of a portion of positioning calculation to the locator. The locator executes the portion of positioning calculation based on the information received from the terminal and transmits the result of executing the portion of positioning calculation to the terminal. Then, the terminal executes the portion of the positioning calculation that has not been delegated to the locator based on the information received from each base station and the information received from the locator.
In this example, each base station first performs an AOD (Angle-Of-Departure) calculation and transmits information showing each of the result of the AOD calculation and the base station ID to the terminal. Then, the terminal performs a positioning calculation based on the information received from the respective base stations.
The operations of the positioning system 90 according to this example are operations that appropriately combine operations of the positioning system 90 shown in
The positioning apparatus 100 is a computer equipped with pieces of hardware including a processor 11, a memory 12, a secondary storage device 13, an input/output IF (Interface) 14, and a communication device 15, as shown in the drawing. These pieces of hardware are connected appropriately via a signal line 19.
The processor 11 is an IC (Integrated Circuit) that performs arithmetic processing and controls the hardware included in the computer. The processor 11 is a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or a GPU (Graphics Processing Unit), as specific examples.
The positioning apparatus 100 may include multiple processors to replace the processor 11. The multiple processors share the role of the processor 11.
The memory 12 is typically a volatile storage device. The memory 12 is also called a main storage device or a main memory. The memory 12 is a RAM (Random Access Memory), as a specific example. Data stored in the memory 12 is saved in the secondary storage device 13 as necessary.
The secondary storage device 13 is typically a non-volatile storage device. The secondary storage device 13 is a ROM (Read Only Memory), an HDD (Hard Disk Drive), or a flash memory, as specific examples. Data stored in the secondary storage device 13 is loaded into the memory 12 as necessary.
The memory 12 and the secondary storage device 13 may be integrally configured.
The input/output IF 14 is a port to which input devices and output devices are connected. The input/output IF 14 is a USB (Universal Serial Bus) terminal, as a specific example. The input devices are a keyboard and a mouse, as specific examples. The output device is a display, as a specific example.
The communication device 15 is a receiver and transmitter. The communication device 15 is a communication chip or a NIC (Network Interface Card), as specific examples.
The components of the positioning apparatus 100 may use the input/output IF 14 and the communication device 15 as necessary when communicating with other devices or the like.
The secondary storage device 13 stores a positioning program. The positioning program is a program that causes a computer to implement the functions of the components included in the positioning apparatus 100. The positioning program is loaded to the memory 12 and executed by the processor 11. The functions of the components included in the positioning apparatus 100 are implemented by software.
Data for use in the execution of the positioning program and data resulting from the execution of the positioning program are stored in a storage device as necessary. The components of the positioning apparatus 100 utilize the storage device as necessary. The storage device is formed from at least one of the memory 12, the secondary storage device 13, a register in the processor 11, and a cache memory in the processor 11, as specific examples. Note that data and information can have equivalent meaning. The storage device may be independent from the computer.
The functions of the memory 12 and the secondary storage device 13 may be implemented by other storage devices.
The positioning program may be recorded in a computer-readable, non-volatile recording medium. The non-volatile recording medium is an optical disk or a flash memory, as specific examples. The positioning program may be provided as a program product.
An operational procedure of the positioning apparatus 100 corresponds to the positioning method. Also, a program for implementing the operation of the positioning apparatus 100 corresponds to the positioning program.
(Step S11)
The relative angle acquisition unit 110 acquires information showing the relative angle between a terminal and each base station.
(Step S12)
The base station information acquisition unit 130 acquires base station information corresponding to each base station.
(Step S13)
The temporary position computation unit 120 computes a temporary position of the terminal based on the information showing the relative angle acquired by the relative angle acquisition unit 110 and the base station information acquired by the base station information acquisition unit 130.
Here, an example of computing a temporary position is described. FORMULA 1 represents the position of each base station and FORMULA 2 represents the true position of the terminal. FORMULA 3 represents the true value of AOA. Here, ϕi° represents the true azimuth and ψi° represents the true elevation angle.
Then, the temporary position computation unit 120 computes the temporary position as shown in FORMULA 4. Here, the symbols in FORMULA 4 are as shown in FORMULA 5. c1i corresponds to a two-dimensional direction vector. c2i corresponds to a three-dimensional direction vector. ϕi corresponds to an angle for a two-dimensional direction. ϕi and ψi correspond to angles for three-dimensional directions.
(Step 514)
The two-dimensional position computation unit 140 computes the two-dimensional position of the terminal based on the temporary position computed by the temporary position computation unit 120.
Here, an example of computing the two-dimensional position of the terminal is described. The two-dimensional position computation unit 140 computes the two-dimensional position of the terminal as shown in FORMULA 6. Here, the symbols in FORMULA 6 are as shown in FORMULA 7. Insofar as c1i, c2i, and c1i˜ are orthogonal vectors, the signs of these terms may be inverted. Because of the characters that can be used, symbols shown in formulas may be indicated in the text with some deformation, corresponds to a two-dimensional weight, ai(1:2) indicates the two-dimensional component of the position of each base station. c1i˜ corresponds to a two-dimensional direction vector.
(Step 515)
The three-dimensional position computation unit 150 computes the three-dimensional position of the terminal based on the temporary position computed by the temporary position computation unit 120.
Here, an example of computing the three-dimensional position of the terminal is described. The three-dimensional position computation unit 150 computes the three-dimensional position of the terminal as shown in FORMULA 8. Here, the symbols in FORMULA 8 are as shown in FORMULA 9. w2i corresponds to a three-dimensional weight. ai indicates the three-dimensional component of the position of each base station.
(Step S16)
The parameter changing unit 170 changes the value of a parameter used by the position aggregation unit 160. As a specific example, the parameter changing unit 170 changes the value of a parameter shown in FORMULA 10. The parameter μ corresponds to a weighted mean parameter. As a specific example, a lookup table such as shown in
(Step S17)
The position aggregation unit 160 computes the position of the terminal by aggregating the two-dimensional position and the three-dimensional position. When the number of AOAs or AODs that can be acquired is low, for example, calculation by at least one of the temporary position computation unit 120, the two-dimensional position computation unit 140, and the three-dimensional position computation unit 150 can fail, if calculation by at least one of them has failed, the positioning apparatus 100 outputs a value from which it can be known that positioning calculation has failed as a result of the positioning calculation. The value can be Null or [−999, −999, −999], as specific examples.
An example of computing the position of the terminal by the position aggregation unit 160 is now described. The position aggregation unit 160 computes the position of the terminal as shown in FORMULA 10. If the position aggregation unit 160 employs FORMULA 10, the position aggregation unit 160 determines a weighted mean of the two-dimensional position and the two-dimensional component of the three-dimensional position as the two-dimensional component of the position of the terminal, and adopts a third-dimension component of the three-dimensional position as a third-dimension component of the position of the terminal.
{circumflex over (p)}
ITELS
=[μ{circumflex over (p)}
TELS(2D)
T(1:2)+(1−μ){circumflex over (p)}TELST(1:2),{circumflex over (p)}TELS(3)]T∈3,0≤μ≤1. FORMULA 10
First, a possibility that the positioning accuracy of the terminal position can degrade depending on the magnitude of at least either of the value of L1/L2 and the value of (sqrt(L1∧2+L2∧2))/L3 is described.
The first component of the orthogonal vector c1i contains sin(ϕi). Subjecting sin(ϕi) to Taylor expansion about the true value and approximating it with first-order terms yields FORMULA 11. Here, consider no and cos(ϕi°), which are deviations due to a measurement error of AOA.
sin(ϕi)≅sin(ϕi°)+sinϕ
First, consider nϕi. The no is the measurement error itself. Accordingly, the greater the value of a standard deviation σϕi of the measurement error, the greater the absolute value of nϕi.
Next, consider cos(ϕi°). Since the N base stations are independent, an expected value of possible |cos(ϕi°)| can be represented as FORMULA 12, it is assumed here that the terminal and the base stations are located randomly in the space.
The relationship between the azimuth and a coordinate system is as shown in
Next, determining the differential of f(u) in order to ascertain the relationship between f(u) and u yields FORMULA 13.
The denominator, f2(u), of FORMULA 13 always assumes a positive value. So, determining the differential of the numerator, f1(u), of FORMULA 13 yields FORMULA 14.
With u>1, f1′(u) always assumes a negative value. Thus, with u>1, f1(u) is a monotone decreasing function. Also, since f1(1)=sqrt(2)-1-log(1+sqrt(2))<0, f(u) always assumes a negative value with u>1. Thus, with u>1, f(u) is a monotone decreasing function. From this, as the value of u=L2/L1 becomes greater, the value of E[|cos(ϕi°)|] becomes smaller; in other words, as the value of 1/u=L1/L2 becomes greater, the value of E[|cos(ϕi°)|] becomes greater.
From the result above, it can be said that when the value of GO is great or when the value of L1/L2 is great, the value of sin(i) can significantly deviate with respect to the true value. Accordingly, it is considered that combined use of c1i and c2i relatively reduces the influence of sin(i), so that the positioning accuracy of the terminal position becomes high.
The first and second components of the orthogonal vector c2i used in the TELS (Two-step Error variance-weighted Least Squares) disclosed by Non-Patent Literature 1 contain cos(ψi). Subjecting cos(ψi) to Taylor expansion about the true value and approximating it with first-order terms yields FORMULA 15. Here, consider nψi and sin(ψi°), which are deviations due to a measurement error of AOA.
cos(ψi)≅cos(ωi°)−nψ
First, consider nψi. The nψi is the measurement error itself. Accordingly, the greater the value of a standard deviation σψi of the measurement error, the greater the absolute value of nψi.
Next, consider sin(ψi°). Since the N base stations are independent, an expected value of possible |sin(ψi°)| can be represented as FORMULA 16. It is assumed here that the terminal and the base stations are located randomly in the space. Also, the relationship between the elevation angle and the coordinate system is as shown in
From the result above, when the value of σψi is great or when the value of 1/v=(sqrt(L1∧2+L2∧2))/L3 is great, cos(ψi) can significantly deviate with respect to the true value, as with the foregoing. Accordingly, it is considered that the positioning accuracy will be higher when only c1i is used than when c1i and c2i are used in combination.
It is considered when the value of L1/L2 is great and the value of (sqrt(L1∧2+L2∧2))/L3 is great, the positioning accuracy is increased by the combined use of c1i and c2i. This is because when only c1i is used, the amount of information used for positioning decreases from 2N to N by half Auld the influence of the deviation contained in c1i on the estimated position of the terminal becomes large.
Therefore, according to the present embodiment, an error associated with three-dimensional positioning of a terminal can be reduced by performing the three-dimensional positioning of the terminal using c1i and c2i in combination as appropriate. Additionally, by flexibly changing the value of a parameter in accordance with the shape of the three-dimensional space in which the three-dimensional positioning is being performed, three-dimensional positioning of a terminal can be performed with relatively high accuracy in any three-dimensional space.
<Modification 1>
The positioning apparatus 100 may not include the parameter changing unit 170. In the present modification, the position aggregation unit 160 uses a given parameter value and the positioning apparatus 100 skips step S16. The parameter value used by the position aggregation unit 160 may be a value that is defined as appropriate in accordance with the shape of the area in which the terminal is located and the result of a preliminary simulation.
<Modification 2>
The positioning apparatus 100 includes a processing circuit 18 in place of the processor 11, the processor 11 and the memory 12, the processor 11 and the secondary storage device 13, or the processor 11 and the memory 12 and the secondary storage device 13.
The processing circuit 18 is hardware that implements at least some of the components included in the positioning apparatus 100.
The processing circuit 18 may be dedicated hardware and ma be a processor to execute programs stored in the memory 12.
When the processing circuit 18 is dedicated hardware, the processing circuit 18 is a single circuit, a composite circuit, a programmed processor, a parallel-programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof, as specific examples.
The positioning apparatus 100 may include multiple processing circuits to replace the processing circuit IS, The multiple processing circuits share the role of the processing circuit 18.
In the positioning apparatus 100, some of the functions may be implemented by dedicated hardware and the remaining functions may be implemented by software or firm ware.
The processing circuit 18 is implemented by hardware, software, firmware, or a combination thereof, as specific examples.
The processor 11, the memory 12, the secondary storage device 13, and the processing circuit 18 are collectively called “processing circuitry”. That is, the functions of the functional components of the positioning apparatus 100 are implemented by the processing circuitry.
Positioning apparatuses 100 according to other embodiments may have similar configurations to the present modification.
Differences from the embodiment described above are primarily described below with reference to drawings.
Description of Configuration
The area information input unit 180 receives information on the area in which the terminal and multiple base stations are located. As a specific example, the area information input unit 180 receives information showing the lengths of the sides showing each of the length of the target area in the longer direction, the length of the target area in the shorter direction, and the height of the target area
The parameter changing unit 170 sets a parameter value using the information received by the area information input unit 180.
(Step S21)
The area information input unit 180 receives information showing the lengths of the sides shown in
(Step S16)
This step is essentially the same as step S16 according to Embodiment 1. However, the parameter changing unit 170 uses the information received from the area information input unit 180.
As described above, according to the present embodiment, information on the area in which the terminal and multiple base stations are located can be configured appropriately.
Differences from the embodiment described above are primarily described below with reference to drawings.
The radio wave intensity acquisition unit 190 acquires information showing a radio wave intensity corresponding to each base station and sends the acquired information to the parameter changing unit 170.
The parameter changing unit 170 sets a parameter value using the information acquired by the radio wave intensity acquisition unit 190.
(Step S31)
The radio wave intensity acquisition unit 190 acquires information showing the radio wave intensity corresponding to each base station and sends the acquired information to the parameter changing unit 170.
(Step S16)
The parameter changing unit 170 defines an area that contains the temporary position of the terminal and base stations that correspond to radio wave intensities equal to or higher than an intensity reference value, and changes the value of a parameter in accordance with the lengths of the sides of the defined area. In the present embodiment, the target area is a space that contains the terminal and base stations with a radio wave intensity with respect to the terminal being equal to or higher than the intensity reference value among the multiple base stations. The intensity reference value may be defined in any manner.
As described above, according to the present embodiment, an appropriate area can be set in accordance with the radio wave intensity corresponding to each base station.
Any combination of the embodiments described above, modification to a certain component of the embodiments, or omission of a certain component in the embodiments is possible.
Also, the embodiments are not limited to those shown in Embodiments 1 to 3 and various modifications may be made as necessary. Procedures described with flowcharts or the like may be modified as appropriate.
11: processor: 12: memory; 13: secondary storage device; 14: input/output IF; 15: communication device; 18: processing circuit; 19: signal line: 90: positioning system; 100: positioning apparatus; 110: relative angle acquisition unit; 120: temporary position computation unit; 130: base station information acquisition unit; 140: two-dimensional position computation unit; 150: three-dimensional position computation unit; 160: position aggregation unit; 170: parameter changing unit; 180: area information input unit; 190: radio wave intensity acquisition unit.
This application is a Continuation of PCT International Application No. PCT/JP2021/027097, filed on Jul. 20, 2021, which is hereby expressly incorporated by reference into the present application.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2021/027097 | Jul 2021 | US |
Child | 18524584 | US |