The present invention relates to an information processing system, an information processing apparatus, an information processing method, and a recording medium.
For example, Pedestrian Dead Reckoning (PDR), etc., is known as a technique for estimating a walking state by using an acceleration sensor, an angular velocity sensor, and an atmospheric pressure sensor. For example, Non-Patent Literature 1 proposes, as a method for estimating a walking state, a method of detecting a state of ascending/descending a staircase from a particular angular velocity pattern appearing when ascending a staircase, and a difference value between peak values of acceleration components in the vertical direction and the traveling direction at the time of descending a staircase.
Furthermore, Patent Literature 1 discloses a technique of averaging the atmospheric pressure values with a walking cycle as the unit period, and determining whether the walking of a subject is ascending or descending a staircase according to changes in atmospheric pressure values.
Patent Literature 1: Japanese Unexamined Patent Application Publication No. 2015-29884
Non Patent Literature 1: Kourogi, Masakatsu, Takeshi Kurata, “A method of personal positioning based on walking motion analysis using inertial sensor group and wearable camera”, IEICE technical report, PRMU2004, volume 103, 2004, pp. 25-30.
An aspect of the present invention provides an information processing system, an information processing apparatus, an information processing method, and a recording medium in which one or more of the disadvantages of the related art are reduced.
According to one aspect of the present invention, there is provided an information processing system including one or more processors, in communication with one or more memories, executing a process including detecting atmospheric pressure surrounding an information processing apparatus; determining a movement state of a movable body by using at least a detection result obtained at the detecting; and determining the movement state of the movable body by a different method from a method used at the determining of the movement state by using at least the detection result, in response to detecting a predetermined change in the detected atmospheric pressure.
According to the method of the related art, there have been cases where the accuracy deteriorates due to the fact that the portable device is fixed to the waist portion, or due to the way of walking by the individual, etc.
Furthermore, for example, in the technique disclosed in Patent Literature 1, there may be a case where the walking state cannot be determined correctly, when a particular atmospheric pressure change occurs due to a motion other than vertical movements during the walking motion, etc.
A problem to be solved by an embodiment of the present invention is to provide an information processing system, an information processing apparatus, an information processing method, and a recording medium capable of accurately determining a moving state of a movable body.
In the following, the present invention will be described with reference to embodiments; however, the present invention is not limited to the embodiments described below.
The information processing apparatus 100 is a movable body such as a mobile phone, a smartphone, a Personal Digital Assistant (PDA), or a notebook personal computer, etc., and is a device that can be carried by a user in his/her hand.
The block diagram illustrated in
Furthermore, the information processing apparatus 100 may include an acceleration sensor 111, an angular velocity sensor 112, a geomagnetic sensor 113, and an atmospheric pressure sensor 114 that is an example of an atmospheric pressure detecting unit. The acceleration sensor 111 is an example of an acceleration detecting unit that detects the acceleration, for example, in three axial directions. The angular velocity sensor 112 is an example of an angular velocity detecting unit, and detects the angular velocity, for example, in three axial directions. The geomagnetic sensor 113 is an example of a magnetic detector, and outputs a three-dimensional vector representing magnetic north, and is used for detecting the orientation of the information processing apparatus 100. The acceleration sensor 111, the angular velocity sensor 112, and the geomagnetic sensor 113 are used as motion sensors, and are used for detecting the walking speed, the number of steps, and the traveling direction of the user. The acceleration sensor 111, the angular velocity sensor 112, and the geomagnetic sensor 113 provide inertial information.
The atmospheric pressure sensor 114 detects the atmospheric pressure around the user, that is, around the information processing apparatus 100 carried by the user. The information processing apparatus 100 detects the change in the position of the user in the altitude direction based on the information obtained by the atmospheric pressure sensor 114, and adds the information, which is obtained by the atmospheric pressure sensor 114, to two-dimensional position coordinate information of the user acquired by a motion sensor, as altitude information indicating the altitude. As a result, the information processing apparatus 100 can determine the position of the user within the three-dimensional position coordinates.
In addition, the information processing apparatus 100 includes a microphone 101, a speaker 102, a first communicating unit 103, and a second communicating unit 104. The microphone 101 converts a sound such as a voice of a user into electric signals, enabling telephone communication, etc. The speaker 102 generates a sound of an incoming call of telephone communication, etc., and outputs sound signals converted from electric signals received by a telephone communication line. Furthermore, the first communicating unit 103 performs communication processing for connecting the information processing apparatus 100 to a wide area network such as Wifi, 3G, 4G, or Long Term Evolution (LTE), etc. The second communicating unit 104 performs processing for providing short-range communication such as Bluetooth (registered trademark), Infrared Data Association (IRDA), or short-range wireless communication, etc.
Furthermore, the information processing apparatus 100 includes a position information receiving unit 105, a display unit 106, and an input unit 107. The information processing apparatus 100 receives, by the position information receiving unit 105, positioning signals transmitted by a global positioning system (GPS) satellite or an Indoor Messaging Service (IMES), and acquires the position coordinates of the user. Furthermore, the display unit 106 and the input unit 107 provide a touch panel function, for example, using a liquid crystal display, etc., and provide a user interface between the information processing apparatus 100 and the user. Note that the microphone 101, the speaker 102, the first communicating unit 103, the second communicating unit 104, the position information receiving unit 105, the display unit 106, and the input unit 107 are optional elements, and the information processing apparatus 100 does not need to include all of the hardware elements illustrated in
Furthermore, the information processing apparatus 100 may include a memory card interface, a Universal Serial Bus (USB) interface, and an imaging device, etc. Specific examples of the CPU 108 used by the information processing apparatus 100 are PENTIUM (registered trademark) to PENTIUM IV (registered trademark), PENTIUM (registered trademark) compatible CPU, POWER PC (registered trademark), MIPS, Tegra (registered trademark), Snapdragon (registered trademark), and Helio (registered trademark), etc., according to the implementation of the information processing apparatus 100.
Furthermore, as the operating system (OS) used by the information processing apparatus 100, there are MacOS (trademark), i-OS (registered trademark), Windows (registered trademark), CHROME (registered trademark), ANDROID (registered trademark), Windows (registered trademark) 200X Server, UNIX (registered trademark), AIX (registered trademark), LINUX (registered trademark), or any other suitable OS, according to the implementation of the information processing apparatus 100. Furthermore, the information processing apparatus 100 can store and execute application programs, which operate on the aforementioned OS, described in a programming language such as C, C++, Visual C++, Visual Basic, Java (registered trademark), Perl, and Ruby, etc., and a programming language often used in smartphones.
The software functions in the information processing apparatus 100 include an atmospheric pressure change detecting unit 201, a walk detecting unit 204, and a walking state determining unit 205. The atmospheric pressure change detecting unit 201 acquires the atmospheric pressure information acquired by the atmospheric pressure sensor 114, and detects a change with time in the atmospheric pressure information (that is, a change with time in the atmospheric pressure). The atmospheric pressure change detecting unit 201 detects, for example, a rapid atmospheric pressure change accompanying the passage of a train in a station, from a value indicating a predetermined atmospheric pressure change or an atmospheric pressure variance value within a predetermined time range.
The walk detecting unit 204 detects the walking of the user by using the information acquired by the acceleration sensor 111, the geomagnetic sensor 113, and the angular velocity sensor 112. The walking state determining unit 205 also uses the information acquired from the acceleration sensor 111, the geomagnetic sensor 113, and the angular velocity sensor 112, to acquire walking history information 600 indicating the walking history of the walking of the user. More specifically, the walking state determining unit 205 adds information of the height dimension to the information indicating the user's walking in a horizontal plane, and generates the user's walking history information 600, which is an example of the movement history information, as three-dimensional information. Furthermore, the walking state determining unit 205 determines which state the user's walking state is in, among a flat walking state (that is, walking on a substantially horizontal surface), and a state of ascending/descending a staircase, etc., based on the atmospheric pressure information acquired by the atmospheric pressure sensor 114, by referring to a walking state-specific information recording unit 203.
Furthermore, the information processing apparatus 100 may include a walking state correcting unit 202, an altitude calculating unit 206, a stride length calculating unit 207, and a walking history accumulating unit 208. The walking history accumulating unit 208 stores the walking history information 600 of a user generated by the walking state determining unit 205. The altitude calculating unit 206 receives the atmospheric pressure information acquired by the atmospheric pressure sensor 114 via the walking state determining unit 205, calculates the altitude information, and returns the altitude information to the walking state determining unit 205. The walking state determining unit 205 determines the walking state by using altitude information from the altitude calculating unit 206.
The stride length calculating unit 207 refers to the walking state-specific information recording unit 203, calculates the stride length of the user in the walking state of the user determined by the walking state determining unit 205 (or further determined by the walking state correcting unit 202), and reports the calculated stride length to the walking history accumulating unit 208. As described above, the stride length calculating unit 207 updates the stride length information indicating the stride length that changes depending on the walking state, in the walking history information 600 stored in the walking history accumulating unit 208. The walking history accumulating unit 208 stores the walking state of the user in time series as a walking log, based on the information acquired by each of the above sensors. Furthermore, the information processing apparatus 100 may include a user position calculating unit 209.
The user position calculating unit 209 uses the walking history information 600 stored in the walking history accumulating unit 208 to determine the position by Pedestrian Dead Reckoning, for example, and the user position calculating unit 209 three-dimensionally calculates the position of the user starting from the position where the user's walking has been first detected, to make it possible to display the walking route of the user, for example, by superimposing the walking route on a map. For example, the user's position where the user's walking is first detected, can be detected by receiving positioning signals transmitted by a GPS satellite or the IMES by the position information receiving unit 105 to acquire the position coordinates of the user.
Note that in the walking state-specific information recording unit 203, parameters of the user's walking, such as information indicating the altitude change in the case of flat walking, information indicating the altitude change when ascending/descending a staircase, and information indicating the altitude change in various walking statuses such as a running state, are recorded. In the walking state-specific information recording unit 203, level difference information indicating the difference in the levels of stairs when ascending/descending a staircase is recorded in order to calculate the stride length, etc. Note that the level difference information may be set in advance based on a value of a general staircase (for example, a value of a standard of staircases).
When the process of
Conversely, in step S302, when the walking state determining unit 205 determines that the detected walking has continued for the predetermined criterion (YES), the walking state determining unit 205 proceeds to step S303. Note that the predetermined criterion for determining whether the walking has continued, can be set by using the walking time, or the number of steps, etc. For example, it can be determined that the detected walking has continued for the predetermined criterion, when the detected walking has continued for five steps when the criterion is the number of steps, or when the detected walking has continued for 2.5 seconds when the criterion is the walking time. The predetermined criterion for determining whether the walking has continued, can be appropriately set according to the walking characteristics, etc., of the user.
In step S303, the walking state determining unit 205 determines whether the ascending/descending state of the user has continued for a “predetermined number of steps”. When the ascending/descending motion of the user continuing for the predetermined number of steps has been detected (YES), the walking state determining unit 205 proceeds to step S304. In step S304, the walking state correcting unit 202 corrects the determination of the walking state to “flat walking”, and records “flat walking” in the walking history information 600 stored in walking history accumulating unit 208. Then, in step S305, according to the walking state of the “flat walking”, the stride length calculating unit 207 calculates the “stride length”, and records the calculated stride length in the walking history information 600.
Here, in step S303, when it is determined that a state of “ascending” or “descending”, as the determination result of the walking state in steps S500 to S503, S507, S508, and S511 in
Conversely, when it is determined in step S303 that the ascending/descending state continuing for the predetermined number of steps has not been detected (that is, “ascending” or “descending” is not continued for a predetermined number of steps) (NO), the processes from step S500 and onward in
Next, the calculation of the stride length will be described with reference to
As illustrated in the upper part of
Flat walking and ascending/descending a staircase can be distinguished by using the variance value of the acceleration in the vertical direction and/or the atmospheric pressure information acquired by the atmospheric pressure sensor 114. As described above, the stride length W2 at the time of ascending/descending a staircase is narrower than the stride length W1 at the time of flat walking, and therefore when the moving distance of the user is calculated by multiplying by the number of steps with reference to the stride length at the time of flat walking, an error may occur in detecting the present position. In order to avoid such a situation, for example, when it is determined that the walking of the user is ascending/descending a staircase, the information processing apparatus 100 corrects the stride length from the value at the time of flat walking to the stride length at the time of the ascending/descending motion. Furthermore, in this case, when the walking of the user changes from ascending/descending a staircase to flat walking, the information processing apparatus 100 corrects the stride length at the time of ascending/descending a staircase back to the stride length at the time of the flat walking.
Note that when GPS, etc., can be used, the information processing apparatus 100 can correct the present position with the information obtained by GPS, etc.; however, in an underground structure such as the subway, or inside a building, etc., GPS may not function properly. In such a case, it is effective to correct the stride length as described above (that is, by using different methods of calculating the stride length between the case of flat walking and the case of ascending/descending walking), in order to reduce the detection error of the present position.
In the following, description of the walking state determination method will be continued by using
The above-described “preset atmospheric pressure change” means, for example, a rapid change in atmospheric pressure that does not occur during regular walking, such as a pressure change when a train arrives or departs in a subway station (hereinafter referred to as “rapid atmospheric pressure change”). Information indicating such a “rapid atmospheric pressure change” may be recorded as data in the ROM 110 of the information processing apparatus 100, for example. Furthermore, the presence or absence of the “rapid atmospheric pressure change” may be determined, for example, by determining whether the atmospheric pressure difference between the present atmospheric pressure and the atmospheric pressure before the user walks a predetermined number of steps exceeds a predetermined threshold, or by determining whether a variance value of the atmospheric pressure within a predetermined time range exceeds a predetermined threshold. Note that the determination criterion for determining the presence or absence of the “rapid atmospheric pressure change” may be set to any criterion.
When a “rapid atmospheric pressure change” (“the set atmospheric pressure change” in
Next, in step S509, the stride length calculating unit 207 calculates the stride length by the method described above with reference to
In the calculation of the stride length, for example, in the calculation of the walking speed at the time of ascending/descending, the stride length calculating unit 207 multiplies the walking speed, which is calculated by using the acceleration in the vertical direction, by a coefficient considering the inclination and the level difference of stairs, etc., to calculate the walking speed in the horizontal direction at the time of ascending/descending, and further calculates the stride length by using the calculated walking speed and the number of steps. Note that the coefficient considering the inclination and the level difference of stairs, etc., may be obtained in advance based on a value of a general staircase or a slope (for example, a value of a standard of staircases), etc., and recorded in the walking state-specific information recording unit 203. Then, by reporting the stride length calculated by the stride length calculating unit 207 to the walking state determining unit 205, the walking state determining unit 205 records the stride length in the walking history information 600 stored in the walking history accumulating unit 208.
Conversely, in step S501, when it is not determined that the user's walking state is an ascending motion (NO), the walking state determining unit 205 proceeds to step S502 to determine whether the user's walking state is a descending motion. In step S502, when it is determined that the walking state of the user is a descending motion (YES), the walking state determining unit 205 proceeds to step S508 and records the walking state of the user as a descending motion (for example, “descending staircase”) in the walking history information 600.
Next, in step S509, the stride length calculating unit 207 calculates the stride length by the method described above with reference to
Conversely, in step S502, when it is not determined that the walking state of the user is a descending motion (NO), the walking state determining unit 205 proceeds to step S503, determines the walking state of the user as “flat walking” and records “flat walking” in the walking history information 600, and the stride length calculating unit 207 calculates the number of steps according to “flat walking” and records the number of steps in the walking history information 600.
Furthermore, the walking state determining unit 205 proceeds to step S504, and determines whether flat walking has been continuously detected for a predetermined time. When flat walking is not continuously detected for a predetermined time (NO in step S504), step S506 is executed, and step S301 in
In step S504, when flat walking is continuously detected for a predetermined time (YES), the walking state determining unit 205 proceeds to step S505. In step S505, the walking state determining unit 205 updates a threshold that is to be referred to when determining whether the user's walking state is ascending/descending a staircase, etc., and that is stored in the walking state-specific information recording unit 203, by using, for example, a variance value of the acceleration in the vertical direction during the flat walking continuously detected. As a result, it is possible to improve the accuracy in determining whether the walking state is ascending/descending a staircase, etc. Subsequently, step S506 is executed, and step S301 of
Conversely, in step S500, when “rapid atmospheric pressure change” is detected (YES), the walking state correcting unit 202 determines that the walking state will be erroneously determined due to a factor other than the user's movement such as ascending/descending a staircase (for example, a rapid atmospheric pressure change accompanying the passage of a train in a station). That is, the walking state correcting unit 202 determines that the user's walking state cannot be determined by the original determination method based on the atmospheric pressure information from the atmospheric pressure sensor 114. Therefore, the walking state correcting unit 202 proceeds to step S511 to acquire the “walking state” to be recorded in the walking history information 600, by a method other than the original determination method. Acquisition of a walking state by a method other than the original determination method means, for example, that the walking state correcting unit 202 uses the “walking state” determined before the “rapid atmospheric pressure change” is detected, as the “walking state” to be recorded in the walking history information 600.
In the following, with reference to
In the walking history information 600 illustrated in
When such a determination is made, the walking state correcting unit 202 determines the “walking state” to be recorded in the walking history information 600, by a method different from the original determination method. The “walking state” to be acquired by a determination by a method different from the original determination method, is the walking state of a predetermined number of steps; in the embodiment illustrated in
Furthermore, in the walking history information 600, for example, when “rapid change in atmospheric pressure” is detected at the nth step, the “walking state” at the nth step is also used as the “walking state” at the (n+1)th step, and furthermore, during the time indicated by the arrow line of “ atmospheric pressure variation continues”, that is, while the atmospheric pressure that has changed due to the above atmospheric pressure change continues, the “walking state” of the nth step may also be repeatedly used as the subsequent “walking states”.
The atmospheric pressure change detecting unit 201 can determine that the continuation of the atmospheric pressure, which has changed by the rapid atmospheric pressure change, has ended, for example, by detecting that the atmospheric pressure has returned to the level of the average atmospheric pressure before the rapid atmospheric pressure change is detected. At this time, for example, when a rapid atmospheric pressure change occurs, the “walking state” determined by the original determination method may be temporarily recorded as the subsequent “walking state” in the walking history information 600, instead of recording, in real time, the “walking state” using the past data or the latest data, as the subsequent “walking state” in the walking history information 600. In this case, for example, assuming that the atmospheric pressure gradually decreases from the atmospheric pressure, which has changed by the rapid atmospheric pressure change, and reaches the level of the average atmospheric pressure, and then the atmospheric pressure further decreases, the “number of steps”, which is detected at the time point when the atmospheric pressure crosses the average atmospheric pressure level, is recorded, and the “walking state” in the walking history information 600 is corrected retroactively up to the recorded number of steps by using the past data or the latest data.
These pressure variation values can be used as thresholds for determining whether there is a “rapid atmospheric pressure change”. However, the atmospheric pressure variations illustrated in
Besides the above, for example, as a threshold for determining whether there is a “rapid atmospheric pressure change”, different values may be set for different cases, such as a case where the user is in an elevator and a case where the user is on an escalator, etc., and the determination of the walking state and the calculation of the stride length may be performed in a mode according to each case. This is because, for example, in a case where a user is in an elevator, or when the user is on an escalator, even if a walking motion is detected, the stride length may be different from that during normal walking, or it may not be appropriate to recognize the detected walking motion as a change in the position.
Furthermore, as described above, even if a rapid atmospheric pressure change occurs, instead of recording, in real time, the “walking state” using the past data or the latest data, it is possible to continue recording the “walking state” determined by the original determination method (using the atmospheric pressure information). In this case, the duration of the atmospheric pressure, which has changed by the rapid atmospheric pressure change, is measured, and subsequently, the “walking state” corresponding to the duration in the walking history information 600 is corrected retroactively to when the rapid atmospheric pressure change has started, to the “walking state” defined by using the past data or the latest data.
As the “stride length”, the stride lengths such as W1 and W2 described with reference to
For example, it is possible to acquire the walking state by a method different from the original determination method, by copying and using data of an appropriate number of steps before a predetermined number of steps, as the data to be recorded in the walking history information 600, and it is possible to calculate the stride length according to the obtained walking state. For example, in
In the following, second, third, and fourth embodiments will be described with reference to
The external communication apparatus 1110 includes an atmospheric pressure sensor 1111 and a communicating unit 1112. The external communication apparatus 1110 acquires atmospheric pressure information of a site where the external communication apparatus 1110 is installed and transmits the information to the information processing apparatus 100A via the communicating unit 1112. On the other hand, the information processing apparatus 100A includes a communicating unit 1120 that receives atmospheric pressure information from the external communication apparatus 1110. The communicating unit 1112 and the communicating unit 1120 described above can communicate based on a communication protocol such as Bluetooth (registered trademark), for example; however, the communication protocol is not limited a such, and infrared data communication such as IrDa or wireless communication such as IEEE.802.11x may also be used.
The communicating unit 1120 of the information processing apparatus 100A transfers, to an atmospheric pressure change detecting unit 201A, the atmospheric pressure information of the site where the external communication apparatus 1110 is installed, received from the external communication apparatus 1110. When the atmospheric pressure information from the external communication apparatus 1110 and the atmospheric pressure information from the atmospheric pressure sensor 114 in the information processing apparatus 100A are both available as usable atmospheric pressure information, the atmospheric pressure change detecting unit 201A preferentially uses the atmospheric pressure information from the external communication apparatus 1110 to determine whether a “rapid atmospheric pressure change” has occurred. When a communication link with the external communication apparatus 1110 cannot be established or the atmospheric pressure information cannot be received from the external communication apparatus 1110 for a predetermined time, the atmospheric pressure change detecting unit 201A detects a “rapid atmospheric pressure change” by using the atmospheric pressure information acquired by the atmospheric pressure sensor 114 inside the information processing apparatus 100A that is an example of an atmospheric pressure detecting unit.
Except for the points described above, the atmospheric pressure change detecting unit 201A according to the second embodiment has the same configuration and functions as those of the atmospheric pressure change detecting unit 201 according to the first embodiment. When the atmospheric pressure change detecting unit 201A detects a rapid atmospheric pressure change, the atmospheric pressure change detecting unit 201A transfers the detection result to the walking state correcting unit 202. As a result, the information processing apparatus 100A executes the processes described above with reference to
Note that in the navigation system 1100 according to the second embodiment illustrated in
The communicating unit 1220 of the information processing apparatus 100B immediately transfers the detection result of the rapid atmospheric pressure change received from the external communication apparatus 1210 to the walking state correcting unit 202. Subsequently, the information processing apparatus 100B executes the processes described above with reference to
According to the navigation system 1200 according to the third embodiment illustrated in
The external communication apparatus 1310 includes an atmospheric pressure sensor 1311, a position information storage unit 1313, and a communicating unit 1312. As the position information stored in the position information storage unit 1313, information indicating the latitude, the longitude, and the altitude of the installation position of the external communication apparatus 1310 may be included (that is, latitude information, longitude information, and altitude information). Furthermore, instead of the position information, an identification value for uniquely identifying the external communication apparatus 1310 may be used. In the case where the identification value is used instead of the position information, the information processing apparatus 100C can acquire the position information corresponding to the identification value by sending a query to a server device 1380 installed outside. Alternatively, by storing the information indicating the association relationship between the position information and the identification value in a storage device or a storage area in the information processing apparatus 100C, the information processing apparatus 100C may obtain the position information corresponding to the identification value received from the external communication apparatus 1310. Furthermore, another information processing apparatus may be used instead of the external communication apparatus 1310, and the information processing apparatus 100C may acquire information indicating the association relationship between the position information and the identification value from the other information processing apparatus, or the information processing apparatus 100C may refer to the association relationship between the position information and the identification value included in the other information processing apparatus and obtain the corresponding position information. Furthermore, the position information may further include information indicating “whether the external communication apparatus 1310 is installed at a location where the surroundings are flat”.
The external communication apparatus 1310 acquires atmospheric pressure information of a site where the external communication apparatus 1310 is installed, from the atmospheric pressure sensor 1311, and transmits, via the communicating unit 1312, the atmospheric pressure information and the position information or the identification value from the position information storage unit 1313. The information processing apparatus 100C includes a communicating unit 1320 that receives atmospheric pressure information and position information or an identification value from the external communication apparatus 1310. The communicating unit 1320 transfers the atmospheric pressure information received from the external communication apparatus 1310, to the atmospheric pressure change detecting unit 201A. The atmospheric pressure change detecting unit 201A has the same configuration as the atmospheric pressure change detecting unit 201A in the information processing apparatus 100A according to the second embodiment. When the information processing apparatus 100C can establish a communication link with the external communication apparatus 1310 and can receive the atmospheric pressure information from the external communication apparatus 1310, and the external communication apparatus 1310 is installed at a location where the surroundings are flat, the atmospheric pressure change detecting unit 201A detects a rapid atmospheric pressure change by using the atmospheric pressure information from the external communication apparatus 1310. On the other hand, when the information processing apparatus 100C cannot establish a communication link with the external communication apparatus 1310 or cannot receive the atmospheric pressure information from the external communication apparatus 1310 for a predetermined time, or when the external communication apparatus 1310 is not installed at a location where the surroundings are flat, the atmospheric pressure change detecting unit 201A detects a rapid atmospheric pressure change by using the atmospheric pressure information acquired by the atmospheric pressure sensor 114 inside the information processing apparatus 100C. The communicating unit 1312 and the communicating unit 1320 described above can communicate based on a communication protocol such as Bluetooth (registered trademark), for example; however, the communication protocol is not limited as such, and infrared data communication such as IrDa or wireless communication such as IEEE.802.11x may also be used.
Furthermore, the communicating unit 1320 transfers the received position information or the identification value to a position information acquiring unit 1330. The position information acquiring unit 1330 transfers the transferred position information of the external communication apparatus 1310 to a position information calculating unit 1340 or acquires position information corresponding to the identification value and transfers the position information to the position information calculating unit 1340. The position information calculating unit 1340 holds the position information until the transferred position information is updated, for example, by receiving the position information from the external communication apparatus again. The position information calculating unit 1340 calculates the position of the information processing apparatus 100C by using the held position information and information from the altitude calculating unit 206 and the stride length calculating unit 207. The calculated position information indicating the present position of the information processing apparatus 100C is transferred from the position information calculating unit 1340 to a position information storage unit 1350 and is further transferred to the user position calculating unit 209.
Furthermore, in a case where the information processing apparatus 100C according to the fourth embodiment determines that the external communication apparatus 1310 is installed at a location where the surroundings are flat based on the position information received from the external communication apparatus 1310, and the walking state determining unit 205 determines that the walking state is an ascending/descending state, the walking state correcting unit 202 determines that the determination is an error. As a result, the walking state correcting unit 202 corrects the determination of the walking state to flat walking and records flat walking in the walking history information 600. This is because, as described above, the external communication apparatus 1310 to which the information processing apparatus 100C is communicably connected, is installed at a location where the surroundings are flat, and therefore it is erroneous to determine an ascending/descending state as the walking state of the user of the information processing apparatus 100C that is communicably connected to the external communication apparatus 1310.
Furthermore, when there are a plurality of the external communication apparatuses 1310 (including other information processing apparatuses) within a communicable distance, the order of priority for determining from which external communication apparatus 1310, from among the plurality of the external communication apparatus 1310, information is to be used, may be established based on the accuracy of the position information of each external communication apparatus 1310, the installation state of the external communication apparatus (fixed or moving, etc.), and information indicating the proximity state with the information processing apparatus 100C (the same building, the same floor, or the same room, etc.).
Similar to the first embodiment, when the atmospheric pressure change detecting unit 201A of the information processing apparatus 100C detects a rapid atmospheric pressure change, the atmospheric pressure change detecting unit 201A transfers the detection result to the walking state correcting unit 202. Subsequently, the information processing apparatus 100C executes the processes described above with reference to
When the information processing apparatus 100C is not communicably connected to the external communication apparatus 1310 (that is, a communication link is not established), the walking history accumulating unit 208 and the user position calculating unit 209 of the information processing apparatus 100C cannot acquire position information or atmospheric pressure information from the communicating unit 1320. In such a case, the information processing apparatus 100C determines the walking state of the user in the same manner as in the first embodiment, calculates the present position of the user based on the determination result, and outputs the present position to the outside. Conversely, when the information processing apparatus 100C is communicably connected to the external communication apparatus 1310 (that is, a communication link is established), the user position calculating unit 209 acquires the latest position information from the position information storage unit 1350 and outputs the position information to the outside as the position information of the information processing apparatus 100C. In the navigation system 1300 according to the fourth embodiment, for example, by using a position information notification device such as i-Beacon as the external communication apparatus 1310, the information processing apparatus 100C can correct the determination result of the position, which is obtained by Pedestrian Dead Reckoning, according to position information from the external communication apparatus 1310, enabling more accurate navigation.
According to the navigation system 1300 illustrated in
Next, with reference to
When the process in
In step S1401, when the walk detecting unit 204 determines that the detected walking has continued for the predetermined criterion (YES), next, in step S1402, the communicating unit 1320 determines whether the information processing apparatus 100C is communicably connected to the external communication apparatus 1310. When the information processing apparatus 100C is not communicably connected to the external communication apparatus 1310 (NO in step S1402), the processes from step S1500 an onward in
In step S1402, when it is determined that the information processing apparatus 100C is communicably connected to the external communication apparatus 1310 (YES), in step S1403, the walking state determining unit 205 uses the position information of the external communication apparatus 1310 to determine whether the communicably connected external communication apparatus 1310 is installed at a location where the surroundings are flat. When the communicably connected external communication apparatus 1310 is installed at a location where the surroundings are not flat (NO in step S1403), the processes from step S1500 and onward in
In step S1404, the walking state determining unit 205 performs the same processes as those of the steps S500 to S503, S507, S508, and S511 described above with reference to
Conversely, when the walking state determining unit 205 determines that the walking state is flat walking in step S1404 (NO), the walking state determining unit 205 records “flat walking” as the walking state in the walking history information 600, and the stride length calculating unit 207 calculates the stride length according to the flat walking and records the calculated stride length in the walking history information 600 (step S1407). Subsequently, the processes from step S1401 and onward are repeated.
According to the fourth embodiment, it is possible to determine that the walking state is flat walking by using the position information received from the external communication apparatus 1310, and therefore in this case, the walking state can be determined more accurately.
The process in
Also in the fourth embodiment, similar to the case of the first embodiment, the “rapid atmospheric pressure change” means a rapid atmospheric pressure change that does not occur during normal walking, such as a pressure change when a train arrives or departs in a subway station.
When a “rapid atmospheric pressure change” is not detected (NO in step S1500), the walking state determining unit 205 proceeds to step S1501 to determine whether the user's walking is an ascending motion, and when the user's walking is determined to be an ascending motion (YES), the walking state determining unit 205 proceeds to step S1507. In step S1507, the walking state determining unit 205 records an ascending motion (for example, “ascending staircase”) as the walking state of the user in the walking history information 600.
Next, in step S1509, the stride length calculating unit 207 calculates the stride length by the method described above with reference to
In the calculation of the “stride length” described above, for example, in the calculation of the walking speed at the time of ascending/descending, the stride length calculating unit 207 calculates the walking speed in the horizontal direction at the time of ascending/descending by multiplying the walking speed calculated by using the acceleration in the vertical direction by a coefficient considering the inclination and the level difference of stairs, etc., and further calculates the stride length by using the calculated walking speed and the number of steps. Note that the coefficient considering the inclination and the level difference of stairs, etc., may be determined in advance based on a value of a general staircase or a slope (for example, a value of a standard of staircases), etc., and recorded in the walking state-specific information recording unit 203. Then, by reporting the stride length calculated by the stride length calculating unit 207 to the walking state determining unit 205, the walking state determining unit 205 records the stride length in the walking history information 600 stored in the walking history accumulating unit 208.
Conversely, when the user's walking is not determined to be an ascending motion in step S1501 (NO), the walking state determining unit 205 proceeds to step S1502 to determine whether the user's walking state is a descending motion. In step S1502, when the user's walking is determined to be a descending motion (YES), the walking state determining unit 205 proceeds to step S1508 and records the walking state of the user as a descending motion (for example, “descending staircase”) in the walking history information 600.
Next, in step S1509, the stride length calculating unit 207 calculates the stride length by the method described above with reference to
Conversely, when the user's walking is not determined to be a descending motion in step S1502 (NO), in step S1503, the walking state determining unit 205 determines the walking state of the user as flat walking, and records the walking state as “flat walking” in the walking history information 600. Next, the stride length calculating unit 207 calculates the stride length according to the flat walking and records the stride length in the walking history information 600. Furthermore, the walking state determining unit 205 proceeds to step S1504 to determine whether flat walking has been continuously detected for a predetermined time. When flat walking is not continuously detected for a predetermined time (NO in step S1504), step S1506 is executed, and step 51401 in
Furthermore, when flat walking is continuously detected for a predetermined time in step S1504 (YES), the walking state determining unit 205 proceeds to step S1505. In step S1505, the walking state determining unit 205 uses a variance value of the acceleration in the vertical direction at the time of flat walking to update a threshold that is referred to when determining whether the walking state of the user is ascending/descending a staircase, that is a threshold stored in the walking state-specific information recording unit 203. As a result, the accuracy of determining whether the walking state is ascending/descending a staircase is improved. Subsequently, the walking state determining unit 205 proceeds to step S1506, further proceeds to step S1401 in
Conversely, when a “rapid atmospheric pressure change” is detected in step S1500 (YES), the walking state correcting unit 202 determines that the walking state will be erroneously determined due to a factor other than the user's movement such as ascending/descending a staircase (for example, a factor such as a rapid atmospheric pressure change accompanying the passage of a train in a station). Therefore, the walking state correcting unit 202 proceeds to step S1511 to determine the “walking state” in the walking history information 600 stored in the walking history accumulating unit 208, by a method different from the original determination method. The determination of the walking method by a method different from the original determination method is performed by the walking state correcting unit 202, for example, by using the “walking state” determined before the atmospheric pressure change is detected, as the “walking state” to be recorded after the “rapid atmospheric pressure change” is detected, in the walking history information 600 stored in the walking history accumulating unit 208, similar to the case of the first embodiment.
In
According to the fourth embodiment, when the determination result of step S1403 in
As described above, according to the embodiments of the present invention, it is possible to provide an information processing system, an information processing apparatus, an information processing method, and a recording medium capable of accurately determining a moving state of a movable body.
The information processing system, the information processing apparatus, the information processing method, and the recording medium are described by embodiments; however, the present invention is not limited to the specific embodiments described in the detailed description, and variations and modifications may be made without departing from the spirit and scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2015-247206 | Dec 2015 | JP | national |
2016-112425 | Jun 2016 | JP | national |
The present application is a continuation application of International Application No. PCT/JP2016/087010 filed on Dec. 13, 2016, which claims priority to Japanese Patent Application No. 2015-247206, filed on Dec. 18, 2015 and Japanese Patent Application No. 2016-112425, filed on Jun. 6, 2016. The contents of these applications are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2016/087010 | Dec 2016 | US |
Child | 15995350 | US |