The present invention relates to a positioning system and a program.
Conventionally, there has been widely used a communication apparatus such as a car navigation device, a smartphone, etc., as a device for providing a positional information service by using a Global Positioning System (GPS).
However, the GPS uses its satellite radio waves. Therefore, it is difficult for a device using the GPS to provide the positional information service in an area where the radio waves transmission is difficult.
On the other hand, as a device to resolve the problem, for example, Patent Documents 1 and 2 propose a communication device which receives a signal from a beacon module installed indoors, the signal including the installation position (location) of the beacon module, the beacon module providing communications using Bluetooth (registered trademark), so as to derive the positional information of the user of the communication device.
However, generally, a signal transmitted from a beacon module travels while repeating reflection and interference indoors. Due to the characteristic features, the accessible range of the signal may vary depending on the installation position of the beacon modules and also depending on time even when the installation position of the beacon module is not changed.
Due to the limitation, it is desired to further improve the accuracy when the positional information is derived based on the communications with the beacon modules installed indoors.
The present invention is made in light of the problem, and an object of the present invention is to improve the accuracy of the positional information derived based on the communications with the beacon modules.
According to an aspect of the present invention, a positioning system includes a plurality of beacon modules and a communication device. Further, the communication device includes a calculation unit calculating action state data that are used for determining an action state of a user who carries the communication device, a searching unit selectively searching for one of the beacon modules in accordance with the action state of the user, the action state being determined based on the action state data calculated by the calculation unit, and a derivation unit deriving positional information of the user based on a response signal transmitted from the one of the beacon modules having been searched for by the searching unit.
According to an aspect of the present invention, it may become possible to improve the accuracy of the positional information derived based on the communications with the beacon modules.
In the following, embodiments of the present invention are described with reference to the accompanying drawings. In the description and the drawings, the same reference numerals are used to describe the same functional elements, and repeated descriptions thereof may be omitted.
First, an overall configuration of a positioning system according to this embodiment is described.
As illustrated in
The mobile terminal 110 is carried by a user while being attached to the user. The mobile terminal 110 includes sensors to be used for determining the user's action (behavior) state.
Further, it is assumed that a positioning application (details thereof are described below) has been installed into the mobile terminal 110. Based on the positioning application, action state data, which are to be used for determining the user's action state based on sensor signals detected by the sensors mounted in the mobile terminal 110, are calculated, and when the calculated action state data satisfies a predetermined condition, a searching signal is broadcast transmitted.
Further, when a response signal is transmitted from the beacon module 120 in response to the broadcast transmitted searching signal, the response signal is received by the mobile terminal 110. Further, based on the information included in the received response signal, the mobile terminal 110 derives the positional information of the current position of the user who carries the mobile terminal 110. Further, the mobile terminal 110 notifies the user of the derived positional information.
The beacon modules 120 are installed at predetermined indoor locations (such as, for example, (in the middle of) a walkway where there is no branching, a T-junction, a crossroad, a staircase landing, inside an elevator, a walkway in front of an elevator, in a room, near a counter (reception desk), etc.).
When the beacon module 120 receives the searching signal in accordance with the installation position thereof from the mobile terminal 110, the beacon module 120 transmits the response signal. In this case, it is assumed that the response signal includes the information indicating the installation position of the beacon module 120.
Further, in this embodiment, it is also assumed that the communications between the mobile terminal 110 and the beacon module 120 are wirelessly performed using the Bluetooth (registered trademark).
Next, a hardware configuration of the mobile terminal 110 included in the positioning system 100 is described.
As illustrated in
As illustrated in
Referring back to the description of
The beacon search section 222 broadcast transmits the searching signal that is to be used so that the beacon module 120 in accordance with the determination result in the action state determination section 221 can be selectively searched for. Further, when the response signal is received from the beacon module 120 in response to the broadcast transmitted searching signal, the positional information derivation section 223 derives the positional information indicating the current position of the user, who carries the mobile terminal 110, based on the response signal. Further, the positional information derivation section 223 notifies the user of the derived positional information via the user interface section 208.
The ROM 202 is a non-volatile memory. The ROM 202 stores various programs and data that are necessary for the CPU 201 to execute the positioning application 220 stored in the storage device 204. Specifically, the ROM 202 stores a boot program, etc., such as, for example, a Basic Input/Output System (BIOS) and Extensible Firmware Interface (EFI).
The RAM 203 is a main memory such as a Dynamic Random Access Memory (DRAM), a Static Random Access Memory (SRAM) or the like. The RAM 203 serves as a working area which is developed (loaded) when the positioning application 220 stored in the storage device 204 is executed by the CPU 201.
The storage device 204 stores not only the positioning application 220 but also layout data 231, which indicates the office layout, to be used when the positional information is derived. The storage device 204 further stores an action-access code table 232 and an action-threshold value table 233. The action-access code table 232 indicates a relationship between the user's action state and the access code that is to be included in the searching signal. The action-threshold value table 233 is used when the user's action state is determined. Details of the layout data 231, the action-access code table 232, and the action-threshold value table 233 are described below.
The acceleration sensor 205 detects the acceleration of the user 300 who carries the mobile terminal 110, and outputs a signal indicating the acceleration vector as the sensor signal thereof. The angular velocity sensor 206 detects the angular velocity of the user 300, and outputs a signal indicating the angular velocity vector as the sensor signal thereof. The geomagnetic sensor 207 detects the magnetic direction of the user 300, and outputs a signal indicating the magnetic direction vector as the sensor signal thereof.
Here, the detection directions of the sensors in the mobile terminal 110 are described.
In
In this embodiment, the projections of the angular velocity vector A in the moving direction, the vertical direction, and the horizontal direction are considered to be referred to as the “angular velocity component in the moving direction”, the “angular velocity component in the vertical direction”, and the “angular velocity component in the horizontal direction”, respectively.
Referring back to the description of
The communication section 209 broadcast transmits the searching signal and receives the response signal from the beacon module 120 under control of the positioning application 220.
Next, the beacon module 120 included in the positioning system 100 is described.
First, indoor installation positions of the beacon modules 120 are described.
As the position where the positional information of the user is to be derived, there are (a) a position where it is sufficient if the positional information of the user can be acquired; and (b) a position where the acquisition of the highly-accurate positional information of the user is desired to be used so that the user's positional information can be used for controlling a process of another system. As an example of the “process of another system”, there is a process of reporting the direction in which the user should move when the user's positional information is used for a navigation system. As another example of the “process of another system”, there is a process of changing the direction or the size of displayed layout data or changing the displayed layout data to other layout data.
In indoor, among the positions where the user's positional information thereof is to be derived, the positions which belong to the above “(a)” position include, for example,:
a walkway where there is no branching;
inside a room; etc.
Further, in indoor, among the positions where the user's positional information thereof is to be derived, the positions which belong to the above “(b)” position include, for example,:
branching position of a walkway such as where there is no branching such as a T-junction, a crossroad, etc.;
a boundary position of a floor such as stairs, an elevator, etc.;
a position where a user takes an action such as, for example, an entrance of a room, a counter (reception table); etc.
As illustrated in
Further, the beacon modules 403 are installed at the respective branching positions of the walkways, and the beacon modules 404 are installed at the respective boundary positions of the floor. Further, the beacon module 405 is installed at the position where the user may take any action (e.g., opening/closing a door).
Next, the relationship between the installation positions of the beacon modules and the user's actions (behaviors) is described. At the installation positions of the beacon modules described with reference with
As illustrated in
In other words, it is possible to say that the timings when the user takes the actions are the timing when the user is at the corresponding installation positions of the beacon modules. Therefore, in the positioning application 220 according to this embodiment, the searching signal is broadcast transmitted at the timings when the user takes the actions and the response signal from the beacon module is received.
As described above, by associating the timings when the searching signal is broadcast transmitted with the user's actions, it becomes possible to receive the response signal from the beacon module 120 at more appropriate timings. Namely, it becomes possible to receive the information indicating the installation position of a beacon module 120 at the installation position of the beacon module 120. Accordingly, it becomes possible to improve the accuracy of the user's positional information derived from the communications with the beacon module 120.
Next, the transmission timings of the searching signal by the positioning application 220 are described in more detail.
Among the figures,
On the other hand, like this embodiment, when the searching signal is arranged to be broadcast transmitted at the timing when the user takes the action to turn to the right, the mobile terminal 110 receives a response signal from the beacon module 403 at the position 604. Namely, according to the positioning application 220 in this embodiment, it becomes possible to recognize that the user passes through the T-junction when the user is at the position 604 of the T-junction. As a result, it becomes possible to improve the accuracy of the derived positional information.
Similarly,
On the other hand, like this embodiment, when the searching signal is arranged to be broadcast transmitted at the timing when the user takes the action to turn to the left, the mobile terminal 110 receives a response signal from the beacon module 404 at the position 614. Namely, according to the positioning application 220 in this embodiment, it becomes possible to recognize that the user passes through the staircase landing when the user is at the position 614 of the staircase landing. As a result, it becomes possible to improve the accuracy of the derived positional information.
Similarly,
On the other hand, like this embodiment, when the searching signal is arranged to be broadcast transmitted at the timing when the user takes the action to temporarily stop, the mobile terminal 110 receives response signal from the beacon module 404 at the position 624. Namely, according to the positioning application 220 in this embodiment, it becomes possible to recognize that the user reaches the front of the elevator when the user is at the position 624 which is in front of the elevator. As a result, it becomes possible to improve the accuracy of the derived positional information.
Next, details of the mobile terminal 110 are described.
First, details are described of the layout data 231, the action-access code table 232, and the action-threshold value table 233 that are stored in the storage device 204 of the mobile terminal 110.
According to the specifications of Bluetooth (registered trademark), it is possible to input a three-byte access code in the searching signal. In general-purpose devices, the data “0x9E8B33” are set as the access code. Therefore, in the positioning system 100 according to this embodiment, an access code other than “0x9E8B33” is included and transmitted in the searching signal.
As described above, by including different access codes corresponding to the characteristic actions into the searching signal and broadcast transmitting the searching signal, it becomes possible for the mobile terminal 110 to communicate with only an appropriate beacon module only. Therefore, the accessible range of the transmitted response signal changes. Accordingly, it becomes possible for the mobile terminal 110 to receive only the response signal from the appropriate beacon module even when the boundary between (the actual accessible ranges of) the beacon modules adjacent to each other becomes uncertain (indecisive).
As a result, it becomes possible to improve the accuracy of the positional information derived based on the communications with the beacon modules.
Further, the access codes in association with the characteristic actions may be registered as the default values in advance, or may be registered when the beacon modules 120 are installed.
For example, when the moving speed is greater than zero and the rotation speed is zero (0 rad/s) as the action state data, it is determined that the user is in a “straight-moving action”. Further, when the moving speed is greater than zero and the rotation speed is greater than zero as the action state data, it is determined that the user is in a “right-turning action”.
Further, when the moving speed is greater than zero and the rotation speed is less than zero (i.e., a minus value) as the action state data, it is determined that the user is in a “left-turning action”. Further, when the moving speed is zero, it is determined that the user is in a “temporarily-stopping action”.
Next, a process of calculating the action state data performed by the action state determination section 221 is described.
First, a method of determining the walking state performed by the action state determination section 221 of the mobile terminal 110 is described.
First, in order to calculate the action state data, the action state determination section 221 determines whether the user is in the walking state. Specifically, first, a gravity acceleration vector is acquired based on the acceleration vector received from the acceleration sensor 205 and the angular velocity vector received from the angular velocity sensor 206. Then, by subtracting the gravity acceleration vector from the acceleration vector, the time series data of a residual acceleration component are obtained. After that, a main component analysis is performed on the time series data of a residual acceleration component, so that the moving direction in the walking state is acquired.
Further, a pair of a top peak and a bottom peak of the acceleration component in the vertical direction is searched for, and a pair of a bottom peak and a top peak of the acceleration component in the horizontal direction is searched for. Further, a gradient of the acceleration component in the moving direction is calculated. Then, it is determined whether the gradient of the acceleration component in the moving direction at the detection time detecting the bottom peak when the top peak is changed into the bottom peak of the acceleration component in the vertical direction is greater than or equal to a predetermined value. When it is determined that the gradient is greater than or equal to the predetermined value, it is determined that the user is in the walking state.
Next, a method is described of calculating the action state data performed by the action state determination section 221 of the mobile terminal 110. As the action state data, the action state determination section 221 calculates the moving speed (m/s) and the rotation speed (rad/s) in the walking action.
First, a method is described of calculating the moving speed in the walking action of the user. The action state determination section 221 acquires the gravity acceleration vector based on the acceleration vector and the angular velocity vector. Then, based on the gravity acceleration vector and the acceleration vector, the action state determination section 221 calculates the acceleration vector that is generated by the walking action. Further, based on the acceleration vector in the moving direction in the walking action, the action state determination section 221 calculates the moving speed in the walking action.
Next, a method is described of calculating the rotation speed in the walking action of the user. The action state determination section 221 determines the direction of the user's body based on the angular velocity vector received from the angular velocity sensor 206. Then, the action state determination section 221 calculates the rotation speed (rad/s) by calculating the time before and after the case of determining that the direction of the user's body has changed.
When the change over time of the angular velocity component in the vertical direction of the angular velocity vector received from the angular velocity sensor 206 indicates that, as illustrated in
On the other hand, when the change over time of the angular velocity component in the vertical direction indicates that, as illustrated in
Then, the rotation speed is calculated based on the angular difference between before and after the change and the time necessary for the change when it is determined that the direction of the body has been changed to the right. Similarly, the rotation speed is calculated based on the angular difference between before and after the change and the time necessary for the change when it is determined that the direction of the body has been changed to the left. As described above, both the moving speed and the rotation speed are calculated.
Next, a flow of an action state determination process performed by the action state determination section 221 of the mobile terminal 110 is described.
In step S1101, based on a predetermined reference position, the action state data of the mobile terminal 110, which becomes the target of this process, are initialized. When the initialization is finished, the action state determination section 221 starts receiving the sensor signals of the mobile terminal 110.
In step S1102, based on the received sensor signals, it is determined whether the user who is carrying the mobile terminal 110 is in the walking state. When it is determined that the user is in the walking state, the process goes to step S1103, where the moving speed is calculated. Further, in step S1104, the rotation speed is calculated.
In step S1105, it is determined whether the calculated moving speed is greater than zero. When the moving speed is determined to be zero in step S1105 or when it is determined that the user is not in the walking state in step S1102, the process goes to step S1107, where it is determined that the temporarily-stopping action is performed.
On the other hand, when it is determined that the moving speed is greater than zero in step S1105, the process goes to step S1106, where it is further determined whether the calculated rotation speed is zero. When determining that the rotation speed is zero in step S1106, the process goes to step S1108, where it is determined that the straight-moving action is performed.
On the other hand, when it is determined that the rotation speed is not zero, the process goes to step S1109, where it is further determined whether the rotation speed is greater than zero. When it is determined that the rotation speed is greater than zero, the process goes to step S1110, where it is determined that the right-turning action is performed.
On the other hand, when it is determined that the rotation speed is less than zero, the process goes to step S1111, where it is determined that the left-turning action is performed.
In step S1112, it is determined whether the action state determination process is to be finished. When the positioning application 220 continues, the process goes back to step S1102. On the other hand, when the termination of the positioning application 220 is instructed, the action state determination process is finished.
Next, a flow is described of the processes performed by the beacon search section 222 and the positional information derivation section 223 of the mobile terminal 110.
In step S1201, it is determined whether the user performs the straight-moving action based on the calculated action state data by referring to the action-threshold value table 233. When determining that the user performs the straight-moving action in step S1201, the process goes to step S1202, where the searching signal including the data “0x9E8B20” as the access code is broadcast transmitted. Namely, the beacon module 120 that responses to the searching signal including the data “0x9E8B20” as the access code is selectively searched for.
In step S1207, it is determined whether the response signal is transmitted from the beacon module 120 in response to the broadcast transmitted searching signal in step S1202. When it is determined that the response signal is not transmitted in step S1207, the process goes back to step S1201 again after a predetermined time period (cycle) (e.g., 1 second) has passed.
On the other hand, when it is determined that the response signal is transmitted in step S1207, the process goes to step S1208, where the positional information is derived indicating the current position of the user based on the information included in the received response signal and indicating the installation position of the beacon module 120. Then, after a predetermined time period (cycle) (e.g., 1 second) has passed, the process goes back to step S1201 again.
On the other hand, when it is determined that the user does not perform the straight-moving action in step S1201, the process goes to step S1203, where it is further determined whether the user performs the right-turning action or the left-turning action. When it is determined that the user performs the right-turning action or the left-turning action, the process goes to step S1204, where the searching signal including the data “0x9E8B21” as the access code is broadcast transmitted.
In step S1207, it is determined whether the response signal is transmitted from the beacon module 120 in response to the broadcast transmitted searching signal in step S1204. When it is determined that the response signal is not transmitted in step S1207, the process goes back to step S1201 again after a predetermined time period (cycle) has passed.
On the other hand, when it is determined that the response signal is transmitted in step S1207, the process goes to step S1208, where the positional information is derived indicating the current position of the user based on the information included in the received response signal and indicating the installation position of the beacon module 120. Then, after a predetermined time period (cycle) has passed, the process goes back to step S1201 again.
On the other hand, when it is not determined that user performs the right-turning action or the left-turning action in step S1203, the process goes to step S1205, where it is further determined whether the user performs the temporarily-stopping action. When it is determined that the user performs the temporarily-stopping action in step S1205, the process goes to step S1206, where the searching signal including the data “0x9E8B22” as the access code is broadcast transmitted.
In step S1207, it is determined whether the response signal is transmitted from the beacon module 120 in response to the broadcast transmitted searching signal in step S1205. When it is determined that the response signal is not transmitted in step S1207, the process goes back to step S1201 again after a predetermined time period (cycle) has passed.
On the other hand, when it is determined that the response signal is transmitted in step S1207, the process goes to step S1208, where the positional information is derived indicating the current position of the user based on the information included in the received response signal and indicating the installation position of the beacon module 120. Then, after a predetermined time period (cycle) has passed, the process goes back to step S1201 again.
As apparent from the above descriptions, the positioning system 100 according to this embodiment includes the following features:
an autonomy navigation means is provided in the mobile terminal and the action state data are calculated at a predetermined cycle, so that the action state of the user who carries the mobile terminal is monitored in real-time;
whether the characteristic action such as the “straight-moving action”, the “right-turning action” , the “left-turning action”, the “temporarily-stopping action”, etc., is performed by the user is determined based on the calculated action state data;
the access codes corresponding to the characteristic actions are determined, so that when the characteristic actions are performed, the corresponding access codes are included in the searching signal and broadcast transmitted;
the beacon modules are installed where the characteristic actions are (likely to be) performed, so that only when the searching signal including the access code corresponding to the characteristic action is received, the response signal is transmitted to the mobile terminal that transmitted the searching signal; and
when receiving the response signal including the information indicating the installation position of the beacon module, the mobile terminal determines that there is the user carrying the mobile terminal at the installation position of the beacon module.
As described above, by associating the transmission timing and the transmission content of the searching signal with the user's actions, it become possible, to receive the response signal at more appropriate timing from an appropriate beacon module. Namely, it becomes possible to receive the information indicating the installation position of the beacon module, so that it become possible to improve the accuracy of the positional information of the user derived based on the communication with the beacon module.
In the above first embodiment, the response signal, which is transmitted from the beacon module 120, includes the information indicating the installation position of the beacon module 120, so that based on the information, the positioning application 220 derives the positional information indicating the current position of the user. However, the present invention is not limited to this configuration. The identification information of the beacon module 120 (identifying the beacon module 120) may be included in the response signal transmitted from the beacon module 120.
In this case, the positional information derivation section 223 of the positioning application 220 acquires the information indicating the installation position of the beacon module 120 corresponding to the identification information of the beacon module 120 by referring to the layout data 231. By doing this, it becomes possible to derive the positional information indicating the current position of the user.
Further, in the above first embodiment, the mobile terminal 110 is equipped with the acceleration sensor 205, the angular velocity sensor 206, and the geomagnetic sensor 207, so that the autonomy navigation means is formed by calculating the user's action state data based on the sensor signals from the sensors. However, the present invention is not limited to this configuration. The autonomy navigation means may be formed by calculating the action state data based on a sensor signal from another sensor.
Further, in the above first embodiment, the radio field intensity of the searching signal is not clearly described that is broadcast transmitted when it is determined that a characteristic action is performed. However, for example, the broadcast transmission may be performed with different radio field intensity depending on the characteristic actions. More specifically, the radio field intensity of the searching signal to be broadcast transmitted may differ in the order: the “straight-moving action” >the “right-turning action” and the “left-turning action” >the “temporarily-stopping action”.
In the above first embodiment, Bluetooth (registered trademark) is used as the communication method between the mobile terminal 110 and the beacon module 120. However, the present invention is not limited to this configuration. Another communication method may alternatively be used.
In the above first embodiment, as the characteristic actions, the four actions, that is, the “straight-moving action”, the “right-turning action”, the “left-turning action”, and the “temporarily-stopping action”, are registered. However, the present invention is not limited to this configuration. Another characteristic action may be registered.
In the above first embodiment, as the installation positions of the beacon modules, the “walkway where there is no branching”, the “T-junction and the crossroad”, the “staircase landing”, the “inside an elevator” and “in front of an elevator”, “in a room”, “near a counter”, etc., are described. However, the beacon module may be installed at another position where the characteristic action is performed.
Although the invention has been described with respect to specific embodiments for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teachings herein set forth.
The present application is based on and claims the benefit of priority of Japanese Patent Application No. 2013-265735 filed Dec. 24, 2013, the entire contents of which are hereby incorporated herein by reference.
Number | Date | Country | Kind |
---|---|---|---|
2013-265735 | Dec 2013 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2014/080992 | 11/18/2014 | WO | 00 |