The present application is based on, and claims priority form, Taiwan Patent Application No. 101148475, filed Dec. 19, 2012, the disclosure of which is hereby incorporated by reference herein in its entirety.
The technical field generally relates to a multi-posture stride length calibration system and method for indoor positioning.
The recent mobile devices are equipped with various types of sensing elements. As the mobile positioning technique also undergoes rapid growth in recent years, positioning information services, such as, personal navigation, social network sharing and location-based service (LBS) are becoming the new focus of the mobile devices. However, to obtain real-time and accurate indoor positioning and navigation services depends on the capability of the smart mobile devices with the equipped sensing elements to perform key functions.
The conventional inertial measurement unit (IMU) positioning system relies on the motion sensors, such as, accelerometer, gyroscope, magnetometer, and so on, to estimate the direction and the distance of the movement. However, when using smart mobile device for positioning, a user may hold or place the mobile device in various postures, which will affect the signals measured by the IMUs. In addition, because inertial navigation is based on the displacement and the direction of the movement to compute, the accumulated error will increase as the distance increases. Errors also exist among different users.
An exemplary embodiment describes a multi-posture stride length calibration system for indoor positioning, applicable to a mobile device. The multi-posture stride length calibration system includes: at least an inertial measurement unit, configured to sense at least a signal of the mobile device; a signal preprocessing unit, connected to the inertial measurement unit to process the sensed at least a signal; a multi-posture determination unit, configured to determine at least a posture based on the processed at least a signal; a step-computing decision unit, configured to compute a number of steps and a step frequency based on the processed at least a signal; a map feature calibration unit, configured to receive the number of steps, step frequency and posture to determined a stride length and decide whether the stride length matching a criterion; a step-computing threshold adjustment unit, configured to adjust a step-computing threshold if the stride length not matching the criterion; and a stride length regression unit, configured to update a stride length regression curve for posture based on step frequency and stride length if the stride length matching the criterion.
Another embodiment describes a multi-posture stride length calibration method for indoor positioning, applicable to a mobile device. The multi-posture stride length calibration method includes the following steps: based on at least a sensed signal, preprocessing the at least a sensed signal; based on the processed at least a signal, performing a posture judgment to determine a posture of the mobile device; based on the processed at least a signal, performing a step computation to compute a number of steps and a step frequency; based on the number of steps, step frequency and posture, computing a stride length and determining whether the stride length matching a criterion; when the stride length matching the criterion, updating a stride length regression curve for posture based on step frequency and stride length; and when the stride length not matching the criterion, adjusting a step-computing threshold and reperforming step computation.
The foregoing will become better understood from a careful reading of a detailed description provided herein below with appropriate reference to the accompanying drawings.
The embodiments can be understood in more detail by reading the subsequent detailed description in conjunction with the examples and references made to the accompanying drawings, wherein:
In the following detailed description, for purpose of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosed embodiments. It will be apparent, however, that one or more embodiments may be practiced without these specific details. In other instances, well-known structures and devices are schematically shown in order to simplify the drawing.
In the present embodiment, the signal processing on the received signal by the signal preprocessing unit 120 includes any combination of signal calibration, synchronization, and filtering (such as, moving average filter and first-order infinite impulse response filter), as well as coordinate transformation (such as, Euler angles and quaternion), so as to convert the signals sensed by the inertial measurement unit 110 from the body coordinates of the user to the earth coordinates for subsequent processing. The multi-posture determination unit 130 then determines the posture of the user holding or placing the mobile device. The postures may include, for example, holding the mobile device in front of the chest when walking, holding the mobile device in hand and swinging the hand naturally when walking, hanging the mobile device at waist when walking, placing the mobile device in chest pocket or in pants pocket when walking, placing the mobile device in the handbag or backpack when walking, fastening the mobile device on shoe when walking, fastening the mobile device on torso or limbs when walking, and so on. Each of any combination of the above postures will generate a different acceleration pattern. Therefore, the multi-posture determination unit 130 must perform estimation on the motion pattern to switch among different step computation modes and compute.
The multi-posture determination unit 130 is able to determine the posture of the user holding or placing the mobile device based on the signals sensed by the magnetometer. For example, when the mobile device is placed horizontally inside the handbag, a set of three-axis magnetometer readings m can be measured, with the magnitude |m|. Take arc-tangent (atan) of mx and my (the readings along the x-axis and the y-axis respectively) to obtain the horizontal navigation angle a1. The tilt angle of Taiwan versus magnetic north pole is known to be a2. A rotation matrix T for coordinate transformation can be obtained by a1 and a2, and T*m=[0, |m|, 0]. When the mobile device is vertically placed inside the chest pocket, the above condition will not be met. In other words, the readings of the magnetometer can be used to determine whether the mobile device is placed inside a handbag or in a chest pocket of the user.
The multi-posture determination unit 130 is also able to use the readings on the accelerometer, gyroscope or magnetometer, or one of the above to compute the roll, pitch, or yaw of the posture of the user holding or placing the mobile device. For example, by analysis of the data collected for actual walking, there is a distinct difference in roll and pitch pattern for different posture of the user holding or placing the mobile device. If the user holds the mobile device in front of the chest when walking, a relatively stable pattern will appear because the user will watch the screen of the mobile device to monitor the positioning, which results in a smaller change in the magnitude of the roll. On the other hand, if the user holds the mobile device in hand and swings the hand naturally when walking, or hangs the mobile device around the waist when walking, the roll pattern shows a change close to 90° (or −90°). In addition, when holding the mobile device in hand and swinging the hand naturally when walking, the user also swings the mobile device along an arc trajectory, which results in a pitch pattern between 20° and −20°. Hence, by observing the change in acceleration of roll and pitch, the posture of the user holding or placing the mobile device can be identified.
When the user changes to a different posture of holding or placing the mobile device, the roll, pitch and yaw pattern will become stable and periodic after a transient duration of time, and is also distinct from the previous pattern. The multi-posture determination unit 130 is configured to automatically add the new identified posture for subsequent determination.
In the present embodiment, the predefined roll value is 45° because the roll value will reach near 90° (or −90°) when the user holds the mobile device in hand and swings the hand naturally when walking, or when the user hangs the mobile device around the waist when walking. Therefore, the half of 90° (i.e., 45°) is selected as the predefined roll value. However, it should be understood that the choice is only illustrative, instead of restrictive. Similarly, the predefined pitch value is defined to be 20° because that pitch is between 20° and −20° when the user swings the hand naturally when walking (i.e., the range of swing is between 20° and −20°. It should be understood that the choices of the predefined roll value and the predefined pitch value can be changed by the user.
Accordingly, the step-computing decision unit 140 can compute the number of steps. With a known distance, the step frequency of the user can be computed. Then, the number of steps, the step frequency and the posture determined by the multi-posture determination unit 130 are transmitted to the map feature calibration unit 150 to determine whether the number of steps and the step frequency are reasonable by determining whether the stride length is reasonable. When the map feature calibration unit 150 determines the stride length is not seasonable, the step-computing threshold adjustment unit 160 must adjust the step-computing threshold.
In the above step-computing flow, the step-computing threshold is used to determine whether an acceleration waveform along z-axis can be counted as a step. When the threshold is too high, the steps with low z-axis acceleration (i.e., light steps) is easily overlooked. On the other hand, when the threshold is too low, a sway of the hand can be erroneously counted as a step. Because different users may demonstrate different characteristics, such as, lightness, speed, and so on, in walking, the step-computing threshold must be dynamically adjusted to obtain an accurate step count. In addition, a reasonable stride length can be estimated using known distance provided by the map feature calibration information. For example, a normal stride length for an average person is 0.5-0.9 m. When the number of steps is too few (i.e., the stride length too large), the threshold must be lowered. On the other hand, when the number of steps is too many (i.e., the stride length too small), the threshold must be raised.
The algorithm to estimate the stride length allows stride lengths of the user in a stable walking state to vary according to height, weight, age, frequency, speed, and so on. The stride length affects the precision of indoor positioning. The known technique often uses height, weight, leg length and age as input parameter to construct a stride length regression mapping model. However, the user must input personal data as variables to the stride length regression mapping model and further data collection must be conducted to establish a large database to improve the accuracy of stride length estimation. Therefore, the present disclosure provides a real-time dynamic stride length calibration method to further improve the stride length estimation accuracy.
In general, the step frequency and the stride length are related, that is, the higher the frequency, the larger the stride length; and the lower the frequency, the smaller the stride length will be. A stride length regression mapping model can be constructed according to the relation between the step frequency and the stride length. However, the known technique is to apply the same stride length regression equation to all the users, which leads to erroneous stride length estimation. The flow of computation is as follows:
Stride length(SL)=distance(L)/number of steps (1)
Average step interval(SI)=ΣΔt/number of steps (2)
Step frequency(SF)=1/SI (3)
SLi=α×SFi+β (4)
Where SLi and SFi are the i-th SL and Sf respectively;
The advantage of the above dynamic stride length calibration method is that in the stride length regression mapping model, each user can have a particular real-time calibration stride length and correction regression equation for different posture, and the user is not required to input any parameters for the stride length regression mapping model, which is more convenient. It should be noted that the stride length regression computation includes linear regression and non-linear regression methods.
For example, through the indoor map information, the user can obtain a total distance L. With the inertial measurement unit to estimate the SL and SF of the user, the relation between SF and SL can be computed for different walking speed: such as, when the user uses the posture of holding the mobile device in front of the chest when walking, the user walks at a normal speed, a fast speed and a slow speed, respectively. With the relation between SL and SF at different speeds, the SL regression curve or line for the posture of holding the mobile device in front of the chest when walking can be obtained. Similarly, when the user adopts the posture of hanging the mobile device around the waist when walking, or the posture of holding the mobile device in hand and swaying the hang, corresponding SL regression curve or line can also be obtained.
When the user moves in indoor space for an extended period of time, the positioning error also accumulates as the movement distance increases. The present disclosure calibrates the user positioning by map feature calibration and the inertial measurement unit indoor positioning.
The multi-posture stride length calibration system for indoor positioning can be also realized with a server/client architecture, as aforementioned. For example, the inertial measurement unit 110, the signal preprocessing unit 120, the multi-posture determination unit 130 and the step-computing decision unit 140 are disposed on a terminal mobile device; the map feature calibration unit 150, the step-computing threshold adjustment unit 160 and the stride length regression unit 170 are disposed on a server; and a signal receiving and transmitting device (not shown) is disposed on the terminal mobile device and the server respectively for receiving and transmitting signal. When the step-computing decision unit 140 finishes counting the number of steps, the step-computing decision unit 140 transmits the information of the number of steps, step frequency and posture to the server through the signal receiving and transmitting device on the terminal mobile device. On the other hand, when the signal receiving and transmitting device on the mobile device receives signal to update step-computing threshold, the step-computing threshold decision unit 140 will re-compute the steps and then transmits the information of the number of steps, step frequency and posture to the server through the signal receiving and transmitting device on the terminal mobile device (i.e., repeating the above process). Correspondingly, at the server, the signal receiving and transmitting device receives the information of the number of steps, step frequency and posture from the signal receiving and transmitting device on the terminal mobile device, and the map feature calibration unit 150 determines whether the stride length is within the reasonable range. If not, the step-computing threshold adjustment unit 160 adjusts the threshold and transmits to the mobile device through the signal receiving and transmitting device. If the stride length is within reasonable range, the relation step frequency and the stride length is substituted into the stride length regression unit 170 to update the stride length regression curve of the posture.
It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed embodiments. It is intended that the specification and examples be considered as exemplary only, with a true scope of the disclosure being indicated by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
101148475 | Dec 2012 | TW | national |