This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2016-201270, filed on Oct. 12, 2016, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a position calculation device, and a position calculation method.
With development of a portable information processing terminal such as a smartphone, a walking trace of an owner of a portable information processing terminal (hereinafter, referred to as a user) may be identified on a map. In outdoors, a position where a portable information processing terminal is positioned may be measured by receiving radio waves from a plurality of global positioning system (GPS) satellites. However, in a case of indoors or underground, radio waves may not be received from GPS satellites in some cases. For this reason, a technique for estimating a walking trace of a pedestrian on a map based on pedestrian dead reckoning using an angular velocity sensor and an acceleration sensor, is known.
In the pedestrian dead reckoning, a position error due to drift of a sensor or a stride of a user is accumulated by integration of sensor output. As a result, a technique of providing a communication apparatus which transmits a beacon signal and of which the position is known on an environment side and suppressing an increase in position error by using wireless information such as an intensity of a beacon signal received from the communication apparatus, is used.
Related technologies are disclosed in, for example, Japanese National Publication of International Patent Application No. 2014-504943, Japanese Laid-open Patent Publication No. 2005-114537, and Japanese Laid-open Patent Publication No. 2009-210473.
According to an aspect of the invention, a position calculation device includes, a memory, and a processor coupled to the memory and the processor configured to, receive a first beacon signal transmitted from a first transmitter installed in a first floor and a second beacon signal transmitted from a second transmitter installed in a second floor, perform a first determination of a floor where the position calculation device is positioned based on measurement information of a motion sensor, perform a second determination of a specific beacon signal from among the first beacon signal and the second beacon signal, the specific beacon signal corresponding to the determined floor, and calculate a first position of the position calculation device based on the specific beacon signal.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
In conventional technology, in an environment where there are a plurality of floors in a building under construction or an open space, there is a case where a beacon signal from a communication apparatus installed in each floor may be detected in another floor different from the floor of the installed place. For example, in a state where a user is present in a first floor, a beacon signal from a communication apparatus installed in a second floor leaks to the first floor, and as a result, in some cases, the beacon signal may be received by a portable information processing terminal of the user. In this case, the portable information processing terminal determines that the user is present in the second floor where the communication apparatus which transmits the beacon signal is installed, and estimates a position of the user. In other words, reliability of user position estimation is decreased.
Hereinafter, embodiments of an information processing apparatus, a position calculation method, and a position calculation program disclosed in the present disclosure will be described in detail with reference to the drawings. The present disclosure is not limited to the embodiments.
System Configuration
As an example, the information processing system 1 is used for position management of a user in a building 200 such as a building having a plurality of floors, or an underpass. In the information processing system 1, the position management server 60 manages position information of the user 100, and the service provider information processing terminal 80 provides a service to the user 100 by using the position information of the user 100. For example, a site manager or a worker in the building 200 under construction is the user 100, and a service provider provides information for the user 100 to the information processing apparatus 30 possessed by the user 100 according to a position of the user 100. Alternatively, an occupant of a nursing facility or a patient of a hospital is the user 100, and the service provider provides a so-called monitoring service that allows recognition of a state of the user 100 according to the position of the user 100.
The floors 210 and 220 of the building 200 are connected to each other by a stairway 230. The communication apparatus 250 is installed in each of the floors 210 and 220 of the building 200. The communication apparatus 250 is a transmitter that transmits a signal including information specifying an installation position in the building 200. As a signal transmitted from the communication apparatus 250, for example, an optical beacon signal or a radio wave beacon signal may be used. Hereinafter, the signal transmitted from the communication apparatus 250 will be referred to as a beacon signal. Although
The user 100 possesses the motion detection device 10 and the information processing apparatus 30. The motion detection device 10 is a device that detects movement information for calculating a walking trace of the user 100 by pedestrian dead reckoning and movement information for determining a walking motion of the user 100 at a flat place or a walking motion of ascending/descending at the stairway 230, and that transmits the detected motion information to the information processing apparatus 30.
The information processing apparatus 30 calculates the position of the user 100 using the movement information acquired from the motion detection device 10, and resets the position of the user 100 using the beacon signal from the communication apparatus 250. In addition, the information processing apparatus 30 transmits the calculated position or the reset position, to the position management server 60. Further, the information processing apparatus 30 specifies a gait of the user 100 by using the information acquired from the motion detection device 10, and selects use of the position resetting using the received beacon signal. Examples of the information processing apparatus 30 include a mobile phone, a smartphone, a tablet terminal, a personal digital assistant (PDA), and the like. In
An access point 50, the position management server 60, and the service provider information processing terminal 80 are connected to each other via a network 90. As the network 90, any type of communication network such as the Internet, a local area network (LAN), a wide area network (WAN), or a virtual private network (VPN) may be adopted, regardless of wired communication or wireless communication.
The access point 50 is a relay apparatus that connects the information processing apparatus 30 possessed by the user 100 to the network 90. The information processing apparatus 30 and the access point 50 are connected to each other by, for example, wireless communication. The access point 50 includes a network interface card (NIC) as a communication unit.
The position management server 60 acquires the position information of the user 100, from the information processing apparatus 30 of the user 100 that uses the information processing system 1, and provides the position information of the user 100 according to a request from the service provider information processing terminal 80.
The service provider information processing terminal 80 acquires the position of the user 100 from the position management server 60, and transmits an instruction according to the position of the user 100, to the information processing apparatus 30 of the user 100. For example, in a case where the user 100 who is a worker of the building 200 exists at a predetermined position in the building 200, the service provider information processing terminal 80 transmits information desired to be executed by the user 100, to the information processing apparatus 30 of the user 100. In addition, in a case where the user 100 who is an occupant of a nursing facility exists in a restricted area of the building 200, the service provider information processing terminal 80 outputs warning information to the information processing apparatus 30 of the user 100 such that the user 100 leaves from the current area. The cases are only examples, and the service provider information processing terminal 80 may output information according to the position of the user 100 in the building 200.
Next, detailed configurations of the motion detection device 10 and the information processing apparatus 30 included in the information processing system 1 will be described.
Functional Configuration of Motion Detection Device 10
The angular velocity sensor 11 is a kind of a motion sensor that detects the motion of the user 100, is mounted to a lower half body below a waist of the user 100, and detects an angular velocity of the user 100. A displacement angle indicating a change in a direction when the user 100 moves, a walking period of the user 100, and a gait of the user may be obtained based on the angular velocity. In this specification, a gait indicates a state of walking such as walking on a flat place, walking when ascending a stairway, and walking when descending a stairway.
When defining the axes in this way, a waveform indicating a change in the pitch angular velocity ωY with respect to time in one walking motion of the user 100, more specifically, a waveform obtained by integrating time-series data (or waveform) of the pitch angular velocity ωY with respect to time during one walking motion of the user 100, varies depending on a gait. In this embodiment, the pitch angular velocity ωY is used for gait determination. Here, this is merely an example. In a case where the gait determination may be performed using the roll angular velocity ωX or the yaw angular velocity ωZ, the roll angular velocity ωX or the yaw angular velocity ωZ may be used.
In a case of obtaining a gait, it is good that the pitch angular velocity ωY is known. On the other hand, in a case of obtaining the displacement angle as an angular change of the user 100 that is used for calculating a position (walking trace) of the user by pedestrian dead reckoning, in order to use the three-axis angular velocities of the roll angular velocity ωX, the pitch angular velocity ωY, and the yaw angular velocity ωZ, a three-axis angular velocity sensor may be used.
The control unit 12 has a function of generating a signal including the angular velocity detected by the angular velocity sensor 11 and transmitting a signal from the wireless communication unit 13.
In one embodiment, the control unit 12 is mounted as a central processor, a so-called central processing unit (CPU). The CPU develops a program for realizing generation of the radio signal on a work area of a random access memory (RAM) mounted as a main memory device (not illustrated), as a process. As the RAM, a dynamic RAM (DRAM), a static RAM (SRAM), or the like may be used. In addition, the program is stored in, for example, a read only memory (ROM) or the like.
The control unit 12 may not be mounted as a central processor, and may be mounted as a micro processing unit (MPU) or a micro controller unit (MCU). In addition, the control unit 12 may also be realized by a hard-wired logic such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).
The wireless communication unit 13 performs wireless communication with the information processing apparatus 30. The wireless communication unit 13 is realized by, for example, a Bluetooth (registered trademark) low energy (BLE) chip, a wireless LAN chip, or the like.
Fixed Position of Motion Detection Device 10
The motion detection device 10 is fixed to a body below a waist of the user 100. In one embodiment, the motion detection device 10 is fixed to a top of the foot of the user 100.
In addition, in other embodiments, the motion detection device 10 may be fixed to the user 100 by winding a fixture including the motion detection device 10 around a thigh of the user 100. The fixture is, for example, a supporter or the like. In addition, the motion detection device 10 is fixed to any place of a leg 110. For example, the motion detection device 10 may be fixed by winding the fixture around a knee, a calf, or an ankle. The motion detection device 10 may be fixed to one leg or may be fixed to both legs. In the following embodiments, a case where the motion detection device 10 is fixed to one leg will be described.
Further, in other embodiments, the motion detection device 10 may be fixed to a waist of the user 100. For example, the motion detection device 10 is fixed to a holder wound around the waist of the user 100.
Functional Configuration of Information Processing Apparatus 30
The communication unit 31 has a function of receiving a beacon signal from the communication apparatus 250 and a function of transmitting the current position of the user 100 that is calculated by the control unit 32 to the position management server 60 via the access point 50. In the communication unit 31, the function of receiving the beacon signal corresponds to a reception unit, and the reception unit is realized by, for example, a BLE chip. In the communication unit 31, the function of transmitting the current position to the position management server 60 is realized by, for example, NIC.
The control unit 32 includes a specifying unit 34, a calculation unit 35, and a data transmission processing unit 36. The control unit 32 is mounted as a central processor, a so-called CPU. The CPU develops an application program for realizing position calculation to be described later, on a work area of a RAM mounted as a main memory device (not illustrated), as a process. As the RAM, DRAM, SRAM, or the like may be used. In addition, the application program is stored in, for example, a ROM, or an HDD.
The control unit 32 may not be mounted as a central processor, and may be mounted as a MPU or a MCU. In addition, the control unit 32 may also be realized by a hard-wired logic such as an ASIC or an FPGA.
The specifying unit 34 acquires gait data of the user 100 from the movement information detected by the motion detection device 10, and specifies a floor where the user 100 is positioned based on the gait data of the user 100. The specifying unit 34 includes a movement information acquisition unit 341, a gait determination unit 342, an ascending/descending determination unit 343, a step count unit 344, and a floor update unit 345.
The movement information acquisition unit 341 acquires the movement information as a detection result of the angular velocity sensor 11 that is received via the communication unit 31. In the first embodiment, for calculation of a walking trace of the user 100 using pedestrian dead reckoning and determination of a gait, the movement information acquisition unit 341 acquires time series data of the roll angular velocity ωX, the pitch angular velocity ωY, and the yaw angular velocity ωZ. Specifically, the movement information acquisition unit 341 determines one period of a walking motion of a certain user 100 (hereinafter, referred to as “a walking period”), and buffers the three-axis angular velocities detected by the motion detection device 10 during a walking period. For example, the movement information acquisition unit 341 sets a start of a stationary section in which the pitch angular velocity ωY is substantially 0, to a boundary point of a walking period. An interval from a boundary point detected in the previous walking period to a boundary point detected in the current walking period, is set as a walking period. In a case where the motion detection device 10 is fixed to one leg, a walking period of the user 100 is two steps. In addition, in a case where the motion detection device 10 is fixed to two legs, a walking period of the user 100 is one step.
The gait determination unit 342 performs gait determination processing using data of the pitch angular velocity ωY during a walking period. In the gait determination processing, the gait determination unit 342 acquires an integral profile by integrating the time series data (or waveform) of the pitch angular velocity ωY with respect to time, extracts a peak pattern of the integral profile in each walking period, and determines a gait based on the peak pattern. By using the pitch angular velocity ωY in
When the entire sole of the foot contacts on the ground 225, there is a section where rotation around the Y axis of an ankle stops, that is, a stationary section where the pitch angular velocity is substantially 0 (ωY˜0). When a state where the pitch angular velocity ωY is substantially 0, among the pitch angular velocity ωY in
The boundary point P of a walking period may be obtained by using a temporal change of the pitch angular velocity ωY. However, in the graph L1 of a temporal change of the pitch angular velocity ωY, a difference in pattern due to a difference in a gait within a walking period is not clear. On the other hand, as illustrated in the graph L2 of
As illustrated in
In
The ascending/descending determination unit 343 determines whether or not a gait state is changed, based on the gait in each walking period that is acquired by the gait determination unit 342. For example, as a result of the gait determination, when the peak pattern of the integral profile changes from the walking state on a flat place, to the walking state when ascending a stairway or the walking state when descending a stairway, the ascending/descending determination unit 343 determines that stairway ascending/descending is started. In addition, as a result of the gait determination, when the peak pattern of the integral profile changes from the walking state when ascending a stairway or the walking state when descending a stairway, to the walking state on a flat place, the ascending/descending determination unit 343 determines that stairway ascending/descending is ended.
The step count unit 344 counts up the number of steps when the boundary point P of the walking period is detected by the movement information acquisition unit 341.
The floor update unit 345 updates the floor where the user is positioned when an end of stairway ascending/descending is detected by the ascending/descending determination unit 343. For example, when a transition from the walking state when ascending a stairway to the walking state on a flat place is detected, a new current floor is set by adding one to the current floor, and floor data which is used up to that point is updated to new floor data. In addition, when a transition from the walking state when descending a stairway to the walking state on a flat place is detected, a new current floor is set by subtracting one from the current floor, and floor data which is used up to that point is updated to new floor data.
The calculation unit 35 calculates a position of the user 100 based on the movement information from the motion detection device 10, and resets the position of the user 100 when a predetermined condition is satisfied. The calculation unit 35 further includes a position calculation unit 351, a determination unit 352, and a position resetting unit 353.
The position calculation unit 351 calculates a position coordinate of the information processing apparatus 30 (the user 100 possessing the motion detection device 10 and the information processing apparatus 30) that includes the floor data, by using the angular velocity acquired by the movement information acquisition unit 341 and the count result of the number of steps in the step count unit 344, based on pedestrian dead reckoning. More specifically, the position calculation unit 351 sets a distance (stride) corresponding to one walking period that is counted by the step count unit 344, to an estimated moving distance, and sets a rotation angle of the information processing apparatus 30 that is obtained by integrating the angular velocity included in the signal output from the angular velocity sensor 11 with respect to time, to an estimated displacement angle. By adding the estimated moving distance in a direction of the estimated displacement angle to a previously estimated position coordinate or a position coordinate to be reset that includes the floor data, the position calculation unit 351 estimates the current position coordinate of the information processing apparatus 30. The position calculation unit 351 stores the estimated position coordinate in the storage unit 33 together with time information, as position data 332. By linking the position at each time using a line, the walking trace of the user 100 may be obtained.
When receiving the beacon signal from the communication unit 31, the determination unit 352 determines whether the floor information included in the beacon signal is the same as information of the floor where the user 100 is positioned, which is managed by the floor update unit 345. In a case where both are the same, the determination unit 352 allows the position resetting unit 353 to perform position resetting processing using the received beacon signal. On other hand, in a case where both are not the same, the determination unit 352 does not allow the position resetting unit 353 to perform position resetting processing using the received beacon signal.
The position resetting unit 353 resets the walking trace or the position of the user 100 that is calculated by the position calculation unit 351, under a predetermined condition. When the position resetting is executed, an accumulated error included in the walking trace estimated by the position calculation unit 351, is removed. The position resetting unit 353 stores the reset position coordinate in the storage unit 33 together with time information, as position data 332.
In one embodiment, in a case where the determination unit 352 allows the position resetting processing using the beacon signal, the position resetting unit 353 measures an intensity of the beacon signal. In a case where the intensity of the beacon signal is greater than a predetermined intensity, the position resetting unit 353 resets the position of the user 100, to a position of the communication apparatus 250 which transmits the beacon signal that includes the floor data. In a case where the intensity of the beacon signal is less than the predetermined intensity, resetting of the position of the user 100 is not performed. In addition, in a case where the intensity of the beacon signal is equal to the predetermined intensity, resetting of the position of the user 100 may be performed or not performed.
In addition, in one embodiment, in a case where the ascending/descending determination unit 343 detects switching between walking on a flat place and walking when ascending/descending a stairway, the position resetting unit 353 resets the position of the user 100, to an upward entrance or a downward entrance of a stairway closest to the estimated position of the user 100 at that time that includes the floor data.
The data transmission processing unit 36 transmits the position calculated by the position calculation unit 351 or the position which is reset by the position resetting unit 353, to the position management server 60, together with time information and information specifying the user 100.
The storage unit 33 stores the floor data 331 and the position data 332. The floor data 331 is map information, which indicates a disposition state such as positions of a passage, a room, the communication apparatus 250, an upward entrance of the stairway 230, a downward entrance of the stairway 230 in each floor of the building 200, with respect to a certain position as a coordinate reference. The floor data 331 is prepared for each floor of the building 200.
The position data 332 stores the position calculated by the position calculation unit 351 or the position which is reset by the position resetting unit 353, together with the time information, for each user 100.
The storage unit 33 is mounted as, for example, a hard disk drive (HDD) or a solid state drive (SSD).
Processing Flow
First, the floor update unit 345 acquires data of an initial floor where the information processing apparatus 30 is positioned, from the floor data 331 stored in the storage unit 33, and sets the acquired data to initial floor data (step S11). Then, the communication unit 31 performs wireless searching of a beacon signal (step S12). The wireless searching of a beacon signal is performed so as to determine whether there is a beacon signal to be registered in the floor data which is set. The beacon signal includes apparatus identification information of the communication apparatus 250 which transmits the beacon signal and position information indicating a position where the communication apparatus 250 is installed. In addition, the position information includes information indicating a floor and a position in each floor.
Thereafter, the communication unit 31 determines whether a beacon signal is received (step S13). In a case where a beacon signal is received (Yes in step S13), floor information included in the beacon signal is acquired (step S14). Subsequently, the determination unit 352 acquires current floor information which is set on the information processing apparatus 30 side (step S15). The current floor information is acquired by, for example, acquiring floor information of current floor data which is managed by the floor update unit 345. Thereafter, the determination unit 352 determines whether the floor information of the beacon signal is the same as the current floor information (step S16).
In a case where the floor information of the beacon signal is the same as the current floor information (Yes in step S16), the determination unit 352 determines whether a condition in which the position resetting may be performed by the beacon signal is established (step S17). For example, the determination unit 352 determines whether the intensity of the beacon signal received by the communication unit 31 is greater than an intensity when executing the position resetting.
In a case where the condition in which the position resetting may be performed by the beacon signal is satisfied (Yes in step S17), the position resetting unit 353 resets the position of the user 100 based on the received beacon signal (step S18). More specifically, in a case where the intensity of the beacon signal is greater than an intensity at which the position resetting may be performed, the position resetting unit 353 resets the position of the communication apparatus 250 that transmits the beacon signal, to the position of the user 100.
Thereafter, in a case where the beacon signal is not received in step S13 (No in step S13), in a case where the floor information of the beacon signal is not the same as the current floor information in step S16 (No in step S16), or in a case where the condition in which the position resetting may be performed by the beacon signal is not established in step S17 (No in step S17), acquisition processing of the movement information between the walking periods is performed (step S19).
Subsequently, the movement information acquisition unit 341 acquires movement information from the angular velocity sensor 11 of the motion detection device 10 via the communication unit 31, and buffers the movement information in the data buffer (step S52). Thereafter, the movement information acquisition unit 341 determines whether the pitch angular velocity ωY is in a stationary section, that is, whether the pitch angular velocity ωY is substantially zero (step S53).
In a case where the pitch angular velocity ωY is in a stationary section (Yes in step S53), the movement information acquisition unit 341 controls the boundary point flag p (step S54). Specifically, in a case where the stationary section flag f is “off”, the boundary point flag p is set to “on”, and otherwise, the boundary point flag p is set to “off”. In time-series data of the pitch angular velocity ωY, a time point at which the boundary point flag p is set to “on” is the boundary point P. Thereafter, the movement information acquisition unit 341 sets the stationary section flag f to “on” (step S55).
On the other hand, in a case where the pitch angular velocity ωY is not in a stationary section (No in step S53), the movement information acquisition unit 341 sets the stationary section flag f to “off” (step S56).
Thereafter, or after step S55, the movement information acquisition unit 341 determines whether the boundary point flag p is “on” (step S57). In a case where the boundary point flag p is not “on” (No in step S57), the process returns to step S52. That is, in a case where the boundary point flag p is “off”, buffering of movement information is performed.
On the other hand, in a case where the boundary point flag p is “on” (Yes in step S57), the process returns to processing of
Returning to the processing illustrated in
Thereafter, the ascending/descending determination unit 343 determines whether or not the user 100 ascends or descends the stairway 230 based on the extracted peak pattern (step S73). This determination is performed, for example, by determining that the acquired peak pattern corresponds to which one of the peak pattern of the integral profile PF1 when walking on a flat place, the peak pattern of the integral profile PF2 when ascending a stairway, and the peak pattern of the integral profile PF3 when descending a stairway that are illustrated in
Returning again to the processing illustrated in
Subsequently, the position calculation unit 351 performs estimation of the walking trace based on pedestrian dead reckoning and update of the current position, by using the movement information detected by the angular velocity sensor 11 and the step count result in step S21 (step S22). A predetermined value is used as a distance corresponding to one step count. In the case of the first embodiment, since the motion detection device 10 is fixed to one leg, a distance corresponding to two steps of the user 100 is used. In addition, in a case where the motion detection device 10 is fixed to both legs, a distance (stride) corresponding to one step of the user 100 is used.
Thereafter, the ascending/descending determination unit 343 determines whether or not the user 100 starts stairway ascending/descending based on the gait determination result obtained by the gait determination unit 342 (step S23). For example, in a case where the gait determination result in the previous walking period is walking on a flat place and the latest gait determination result is walking when ascending/descending a stairway, the ascending/descending determination unit 343 may determine that stairway ascending/descending is started.
In a case where it is determined that the user 100 starts stairway ascending/descending (Yes in step S23), the position resetting unit 353 resets the current position of the user 100, to a position of the stairway in the current floor that is closest to the position estimated in step S22 (step S24).
In a case where it is determined that the user 100 does not start stairway ascending/descending in step S23 (No in step S23), the ascending/descending determination unit 343 determines whether the stairway ascending/descending is ended (step S25). For example, in a case where the gait determination result in the previous walking period is walking when ascending/descending a stairway and the latest gait determination result is walking on a flat place, the ascending/descending determination unit 343 may determine that stairway ascending/descending is ended.
In a case where it is determined that stairway ascending/descending is not ended (No in step S25), the process returns to step S19. This is based on a premise that the communication apparatus 250 which transmits the beacon signal is not installed at a stairway, and thus processing of steps S12 to S18 is omitted. On the other hand, in a case where the communication apparatus 250 is installed at a stairway, the process returns to step S12.
In a case where it is determined that stairway ascending/descending is ended (Yes in step S25), the floor update unit 345 updates the floor data when the user 100 completes stairway ascending/descending (step S26). For example, in a case where the user 100 ascends a stairway, the floor data 331, which is data of a floor positioned immediately above the current floor (a floor which is set by adding one to the current floor), is acquired from the storage unit 33. In addition, in a case where the user 100 descends a stairway, the floor data 331, which is data of a floor positioned immediately below the current floor (a floor which is set by subtracting one from the current floor), is acquired from the storage unit 33. Thus, the data of the floor where the user 100 is positioned is managed and updated by the floor update unit 345.
Thereafter, the position resetting unit 353 resets the current position of the user 100, to a position of the stairway in the current floor that is closest to the position estimated in step S22 (step S27), and the process returns to step S12. As described above, a flow of position calculation processing according to the first embodiment is described.
Thereafter, it is assumed that the user 100 moves in the first floor (1F) 210 as illustrated in a walking trace R2. When the user 100 passes through the vicinity of the stairway 230 between the position X2 and a position X5, the information processing apparatus 30 of the user 100 receives a beacon signal which is leaked from the communication apparatus 250-3 in the second floor (2F) 220 to the first floor (1F) 210. At this time, in the comparative example, it is not determined whether the user 100 ascends or descends the stairway 230, and in a case where the intensity of the beacon signal is greater than the predetermined intensity, the position of the user 100 is reset to the position of the communication apparatus 250-3 that transmits the beacon signal. As a result, in the information processing apparatus 30, the walking trace R1 is calculated as a walking trace of the user 100.
As described above, in the comparative example, since it is not determined whether the user 100 ascends or descends the stairway 230, in contrast with the first embodiment, when receiving a beacon signal, the position resetting processing using the beacon signal may be performed. As a result, although the user 100 is actually present in the first floor (1F) 210, it is determined that the user 100 is present in the second floor (2F) 220, and this causes an error in the walking trace.
On the other hand, in the first embodiment, it is determined whether the user 100 ascends or descends the stairway 230. Thus, even in a case where a beacon signal having an intensity greater than the predetermined intensity is received at the position X5, when there is no motion of ascending the stairway 230 by the user 100, the position resetting processing using the beacon signal from the communication apparatus 250-3 is not performed. As a result, the information processing apparatus 30 calculates the walking trace R2 without movement between the floors 210 and 220 as the walking trace of the user 100. In other words, an error between an actual moving route of the user 100 and the walking trace of the user 100 may be decreased compared to the comparative example.
In addition, as another example, a case where the user 100 moves to a position X6 from the position X0 as a starting point, is considered. In this case, at the positions X1, X2, and X6, as a beacon signal is received from each of the communication apparatuses 250-1, 250-2, and 250-3, the current position of the user 100 is reset to the installation position of each communication apparatus.
In addition, in the information processing apparatus 30 according to the first embodiment, as indicated by the walking trace R1, at a position X3, a start of a motion of ascending the stairway 230 is detected, and at a position X4, an end of the motion of ascending the stairway 230 is detected. Then, at the position where the start of the motion of ascending the stairway 230 is detected, the position of the user 100 is reset to a position of an actual upward entrance of the stairway 230, and at the position where the end of the motion of ascending the stairway 230 is detected, the position of the user 100 is reset to a position of an actual downward entrance of the stairway 230. In this manner, even at the position of the upward entrance or the downward entrance of the stairway 230 other than the installation positions of the communication apparatuses 250-1 to 250-3, the position of the user 100 is reset, and thus it is possible to estimate the walking trace close to the actual moving route of the user 100.
Aspect of Effect
As described above, the information processing apparatus 30 according to the present embodiment records the floor movement in the building 200 as the user 100 ascends and descends the stairway, and when receiving a beacon signal, determines whether the floor information in the beacon signal matches with the floor information held in the information processing apparatus 30. As a result, when a walking trace is estimated by pedestrian dead reckoning, in a case where a beacon signal leaked from another floor is received, position correction using the beacon signal is not performed. Therefore, it is possible to reduce erroneous detection of the walking trace of the user 100.
In addition, by associating a change in a gait with the upward entrance or the downward entrance of the stairway 230 in the floor data, it is possible to reset the position of the user 100 when a change in a gait occurs. As a result, compared to a case where the position resetting is performed by using only the communication apparatus 250 that transmits a beacon signal, the number of points for resetting increases, and thus it is possible to more accurately estimate the walking trace of the user 100.
Hereinafter, in the present embodiment, a case where an acceleration sensor is used for detecting a motion of the user in addition to the angular velocity sensor will be described. The overall configuration of the information processing system according to a second embodiment is the same as that illustrated in
Functional Configuration of Motion Detection Device 10
In
Functional Configuration of Information Processing Apparatus 30
In a case where the posture is stable, as illustrated in
Here, although a method of determining the posture stability using the pitch angular velocity ωY is described, the posture stability may be determined based on a degree of the body shaking of the user 100 using the roll angular velocity ωX or the yaw angular velocity ωZ.
In
In addition, unlike the first embodiment, the position calculation unit 351 acquires a moving distance of the user 100 in the walking period using the movement information detected by the acceleration sensor 14. The moving distance is obtained by integrating a value of the acceleration included in a signal output from the acceleration sensor 14.
Processing Flow
Although estimation processing of the walking trace in the second embodiment is basically the same as the processing illustrated in the flowchart of
Subsequently, the movement information acquisition unit 341 acquires movement information from the angular velocity sensor 11 of the motion detection device 10 and the acceleration sensor 14 via the communication unit 31, and buffers the movement information in the data buffer (step S92). Thereafter, processing similar to the processing described in steps S53 to S57 of
Subsequently, the stability determination unit 346 determines the posture stability of the user 100 using the average value and the variation in the stationary section within the walking period (step S114). In one embodiment, the stability determination unit 346 calculates a variance in the stationary section, and determines the posture stability by comparing the variance with a reference determination value. Thereafter, the data transmission processing unit 36 transmits the posture stability as safety monitoring information, to the position management server 60 (step S115). By the above-described procedure, the gait determination processing ends.
The position management server 60 transmits the safety monitoring information of the user 100 to the service provider information processing terminal 80. In a case where the posture stability of the user 100 is unstable, the service provider information processing terminal 80 transmits information for instructing the information processing apparatus 30 of the user 100 to stop work, or transmits information for instructing the information processing apparatus of an administrator as the user 100 to check a situation of the user 100. In a case where the user 100 is a worker in the building 200, as a state where the posture stability of the user 100 is unstable, a state where physical strength of the user 100 is declined due to fatigue, a state where the user 100 is working beyond the physical strength, or the like may be exemplified.
Aspect of Effect
As described above, based on a fact that the angular velocity has a predetermined value when the user 100 is in a stable state, among the movement information detected by the angular velocity sensor 11, the information processing apparatus 30 according to the present embodiment determines the posture stability of the user 100 by using the average value and the variation of the angular velocity, for a range in which the variance is substantially zero. Then, the determination result is transmitted to the position management server 60, as the safety monitoring information. Thus, it is possible to recognize a safety situation of each user 100, more specifically, a load situation with respect to the physical strength of the user 100, using the safety monitoring information. As a result, it is possible to secure the safety of the user 100 by adopting measures according to the posture stability of the user 100, such as avoiding work in which an excessive load is applied to the user 100.
Although the embodiments relating to the information processing system disclosed herein have been described, the present disclosure may be embodied in a variety of other forms, in addition to the embodiments described above. In the following description, another embodiment included in the present disclosure will be described.
Modification Example (Example in Which the Position Calculation Processing is Performed by the Position Management Server)
The communication unit 61 has a function of receiving the movement information detected by the angular velocity sensor 11 or/and the acceleration sensor 14 and the beacon signal, from the motion detection device 10. In addition, the communication unit 61 also has a function of transmitting data of the user 100 that is stored in the storage unit 63, to the service provider information processing terminal 80, according to an instruction from the service provider information processing terminal 80. The communication unit 61 is realized by, for example, an NIC.
The control unit 62 includes a specifying unit 64, a calculation unit 65, and a position providing unit 66. The control unit 62 is mounted as a central processor, a so-called CPU. The CPU develops an application program for realizing position calculation of the information processing apparatus 30, on a work area of a RAM mounted as a main memory device (not illustrated), as a process. As the RAM, DRAM, SRAM, or the like may be used. In addition, the application program is stored in, for example, a ROM, or an HDD.
The control unit 62 may be not mounted as a central processor, and may be mounted as a MPU or a MCU. In addition, the control unit 62 may also be realized by a hard-wired logic such as an ASIC or an FPGA.
The specifying unit 64 includes a movement information acquisition unit 641, a gait determination unit 642, an ascending/descending determination unit 643, a step count unit 644, a floor update unit 645, and a stability determination unit 646. In addition, the calculation unit 65 includes a position calculation unit 651, a determination unit 652, and a position resetting unit 653.
The movement information acquisition unit 641, the gait determination unit 642, the ascending/descending determination unit 643, the step count unit 644, the floor update unit 645, the stability determination unit 646, the position calculation unit 651, the determination unit 652, and the position resetting unit 653 respectively have the same functions as the movement information acquisition unit 341, the gait determination unit 342, the ascending/descending determination unit 343, the step count unit 344, the floor update unit 345, the stability determination unit 346, the position calculation unit 351, the determination unit 352, and the position resetting unit 353 in the information processing apparatus 30 according to the first embodiment and the second embodiment, and thus a description thereof is omitted.
When receiving an instruction for acquiring the position information of the user 100 from the service provider information processing terminal 80, the position providing unit 66 extracts position data 632 which is stored in association with identification information of the user 100, from the storage unit 63, and transmits the extracted position data 632 to the service provider information processing terminal 80 via the communication unit 61.
The control unit 62 of the position management server 60 illustrated in
The storage unit 63 stores the floor data 631 and the position data 632. The floor data 631 is information, which indicates a disposition state such as positions of a passage, a room, the communication apparatus 250, an upward entrance of the stairway 230, a downward entrance of the stairway 230 in each floor of the building 200, with respect to a certain position as a coordinate reference. The floor data 631 is prepared for each floor of the building 200.
The position data 632 stores the position calculated by the position calculation unit 651 or the position which is reset by the position resetting unit 653, together with the time information, for each user 100.
The storage unit 63 is mounted as, for example, an HDD or an SSD.
In addition, the position calculation processing of the user 100 that is performed by the position management server 60 is similar to that described with reference to the flowcharts illustrated in
In addition, each component of the position management server 60 illustrated in
In addition, the various processing described in the embodiments may be realized by causing a computer such as a smartphone, a tablet terminal, a personal computer, or a workstation to execute a program prepared in advance. In the following description, an example of a computer that executes a position calculation program having the same function as that of the embodiments, will be described.
In the HDD 560, a position calculation program is stored, the position calculation program exhibiting the same functions as those of the specifying units 34 and 64 (the movement information acquisition units 341 and 641, the gait determination units 342 and 642, the ascending/descending determination units 343 and 643, the step count units 344 and 644, the floor update units 345 and 645, and the stability determination units 346 and 646), the calculation units 35 and 65 (the position calculation units 351 and 651, the determination units 352 and 652, and the position resetting units 353 and 653), and the data transmission processing unit 36, which are illustrated in the first embodiment to the third embodiment. The position calculation program may be integrated or separated, similarly to each component of the specifying units 34 and 64 (the movement information acquisition units 341 and 641, the gait determination units 342 and 642, the ascending/descending determination units 343 and 643, the step count units 344 and 644, the floor update units 345 and 645, and the stability determination units 346 and 646), the calculation units 35 and 65 (the position calculation units 351 and 651, the determination units 352 and 652, and the position resetting units 353 and 653), and the data transmission processing unit 36, which are illustrated in
Under such circumstances, the CPU 540 reads the position calculation program from the HDD 560 and loads the program into the RAM 570. As a result, the position calculation program functions as a position calculation process. The position calculation process loads various data read from the HDD 560 into an area of a storage area of the RAM 570 that is allocated to the position calculation process, and executes various processing using the loaded various data. For example, examples of the processing executed by the position calculation process include the processing illustrated in
The position calculation program may not be stored in the HDD 560 or the ROM 550 from the beginning. For example, the position calculation program may be stored in “a portable physical medium” as a flexible disk inserted into the computer 500 that is a so-called FD such as a compact disc (CD)-ROM, a digital versatile disc/digital video disc (DVD), a magneto-optical disk, or an integrated circuit (IC) card. The computer 500 may acquire the position calculation program from the portable physical medium and execute the program. In addition, the position calculation program may be stored in another computer or a server apparatus connected to the computer 500 via a public line, the Internet, a LAN, a WAN, or the like, and the computer 500 may acquire the position calculation program from the another computer or the server apparatus, and execute the program.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2016-201270 | Oct 2016 | JP | national |