1. Technical Field
Apparatuses and methods consistent with the present disclosure relate to navigation systems capable of providing highly accurate location information.
2. Description of the Related Art
Personal navigation systems capable of providing highly accurate location information are sought after for various applications. For example, personal navigation system that can be used in global positioning system (GPS) denied environments or GPS-disrupted environments are sought after for military, first responder, and consumer applications. There is a need for personal navigation systems suitable for environments in which there is line-of-sight blockage (e.g., buildings, forest canopy, caves, etc.) and/or electrical interference/jamming. Also, such personal navigation systems can be used in clinical research to accurately measure motion of patients during therapy.
Conventional personal navigation systems use an inertial measurement unit (IMU), or some subset of inertial sensors, to measure changes in position and heading to track the movement of a person, ground vehicle, or air vehicle. These systems can also use digital pedometers that measure the impact strike of each foot and use an average stride length to compute distance traveled. These pedometers use small accelerometers to measure when each foot hits the ground. Many IMUs incorporate magnetometers for determining heading or direction using the Earth's magnetic field. However, these measurements are often corrupted inside buildings or structures due to the presence of magnetically interfering iron or electromagnetic fields.
US 20090326795 provides an example of a related art personal navigation system. A stride vector technique is presented for a pair of first and second objects, such as a pair of boots or shoes worn by a user and integrated with a personal navigation system for the user. Using the stride vector technique, a position vector is measured between user's two feet by using information gathered by sensors disposed on each foot.
Exemplary embodiments of the present disclosure address at least the above problems and/or disadvantages and other disadvantages not described above. Also, the present disclosure is not required to overcome the disadvantages described above, and an exemplary embodiment of the present disclosure may not overcome any of the problems listed above.
Exemplary implementations of the present disclosure provide a novel technique for measuring and collecting data, which can be used in the accurate determination of distance and direction traveled by an object such as an individual.
According to an exemplary implementation of the present disclosure a plurality of sensors are placed upon an individual's feet (both right and left). These sensors operate either/both as transmitters or receivers that directly measure the distance, or displacement, between nodes on each foot in a continuous manner. A unique algorithm is presented that uses this sensor displacement data to compute the accurate step or stride length between feet, the heading or direction of one foot relative to the other, and vertical or altitude, displacement of one foot relative to the other.
The above and other features and advantages of the present disclosure will become more apparent by describing in detail exemplary implementations thereof with reference to the attached drawings in which:
Exemplary implementations of the present disclosure will now be described more fully with reference to the accompanying drawings.
The central node may also be placed directly on the individual's or object's parts so that the relative movement of the mobile objects may be determined. The central node may contain a clock to maintain synchronization of transmitted data between all remote nodes.
To describe in detail the exemplary system of
Next, an exemplary technique is illustrated with reference to
then
L=r
AC sin(φ)
L=r
BD sin(φ)
Alternatively, ‘L,’ can also be calculated using:
L=√{square root over (rAC2−s2)}
L=√{square root over (rBD2−s2)}
The above calculation assumes that ‘s’ is known. The value of ‘s’ can be determined by prior experimentation and the values RAC and RBD can be calculated by the controller. Accordingly, the stride length ‘L’ can be determined.
In
r
BC
2
=r
CD
2
+r
BD
2−2rCDrBD cos(90°−{tilde over (φ)}2)
Using the above equation, sin φ2 can be determined and based on that the stride length ‘L2’ can be determined as follows:
{tilde over (L)}
2=sin({tilde over (φ)}2)rBD
Similarly, ‘s2’ can be calculated:
{tilde over (s)}
2=cos({tilde over (φ)}2)rBD
It should be noted that the variables having the ‘tilda’ sign are the variables which are to estimated or determined. To determine the heading, the following equations are used:
ACD={tilde over (γ)}:rAD2=rAC2+rCD2−2rACrCD[cos({tilde over (γ)})]
In the above equations, cosine(angle ACD) is computed and based on this computation, ‘s1’ is determined because RAC is measured. Next, ‘p’ is computed and finally the heading is computed using ‘p’ and RAB.
According to another exemplary implementation,
Based on the geometry of
The following equations can be derived from
ψBA(tk)+θT(tk)+θCAB(tk)−90°=0
θCDB(tk)−ψDC(tk-1)θH(tk)−90°=0
ψDC(tk-1)+θACD(tk)−θT(tk)−90°=0
θABD(tk)−ψBA(tk)−θH(tk)−90°=0 (1)
As discussed previously, the controller measures RAC, RBD, RAH, RBC, RAD, and RCD. Using the law of cosines, θCAB, θCDB, θACD, and θABD can be determined. As an example,
Equations (1) provide a system of three linearly independent equations with four unknowns. Now, assuming that the heading from the previous step (i.e., ΨPDC) is known, only three unknowns (ΨBA, θT, and θH) are left to be determined. By solving the above four equations, these three unknowns can be easily determined. Once ΨBA, θT, and θH are determined, the stride length ‘LH’ and separation distance ‘SH’ can be determined as:
L
H
=r
BD sinθH
S
BD cosθH
In the above exemplary implementations, the measurements for the stride length and heading can be performed in a continuous manner or based on movement. If the measurements are performed in a continuous manner, the measurements can be made at predetermined time intervals irrespective of whether the object moves. If the measurements are based on movement, the controller can determine a specific moment at which the measurements are conducted. For example, the controller may determine the heading and stride length when one of the feet hits the ground. Also, the controller may determine the heading and stride lengths when the amplitude of the measured node distances reaches a maximum or minimum. The goal of these measurements is to generate a continuous or discrete time history of the movement of the nodes so that the full displacement nodes can be determined as required for a specific application or operation.
The location of a mobile object in the X-Y plane (see
As indicated above, to calculate the x and the y positions, previous stride lengths and separation distances need to be stored. The storage unit 114 may store these values and the processing unit 113 may calculate the x and the y positions. Further, it is possible that the controller 110 may only calculate instantaneous stride lengths and separation distances and supply these to the central node, which then keeps track of the instantaneous values and determines the x and y positions.
Next, an exemplary technique is described with reference to
Based on the geometry of
−φT(tk)+θACD(tk)−90 °=0
θCDB(tk)+φH(tk)−90 °=0
The θCDB, θACD values can be determined similar to
Now, the following values can be readily determined:
lT=rAC sinφT
l
H
=r
BD sin φH
d
T
=r
AC cosφT
d
H
=r
BD cos φH
In
Next, the following two equations define a relationship between ΦT and ΦH, the heading (with respect to the inertial reference frame) of the previous foot step (left foot in this case) and variables θT, and θH:
ψDC=θT−φT
ψDC=θH−θH
Using the above two equations, the set of equations (1) can be solved.
The final position of the mobile object can be expressed by:
Techniques similar to those discussed above can be used to determine the 3-D position of a mobile object. Sensors such as A, B, C, D would be placed in a vertical direction, or Z-axis direction, to create vertical ABCD plane as opposed to the horizontal ABCD plane described in
Next, an exemplary method is described for determining the location of a mobile object. The exemplary method will be described in
In S901, a controller 110 determines distances between sensor nodes placed on moving parts of a mobile object. Assuming that the mobile object is a first responder and the moving parts are his/her left and right feet, the controller 110 measures RAC, RBD, RAB, RBC, RAD, and RCD. These values correspond to the distances between the different sensors (A, B, C, and D) placed on the left and right feet. Also, RAB and RCD (distance between sensors on the same moving part, i.e., same foot in this case) can be directly measured and known prior to operation based upon their initial placement of these nodes in the boots. These are the values which the controller can measure directly.
In S902, the controller 110 determines the stride length, the separation distance between the two feet, and the heading. These values may be calculated based on the assumed frame of reference (relative or absolute). Exemplarily, the values of stride length, separation distance may be determined based on the equations described with reference to
In S903, the controller 110 may store these values in the storage unit 114 or may transmit them to the central node.
In S904, the location of the mobile object is determined using the above calculated values. The location of the mobile object can be determined using equations (2) or (3) described above.
The above exemplary implementations have been described with reference to a mobile object having two mobile parts (right foot and left foot) that move relative to each other. However, this can be extended to more than two mobile parts, for example four moving legs of a walking robot, as long as the proper set of nodes is chosen to represent each of the sets of feet. It should be noted that the above description focused on walking only for the purposes of illustration. These described techniques can be equally applied to any form of locomotion or node movement. Types of locomotion may include walking, running, shuffling, side-to-side walking, crawling, walking up stairs, climbing ladders, etc.
Exemplary implementations of the present disclosure directly support all aspects of personal navigation, including inside and outside of buildings or structures. These exemplary implementations are especially suitable for emergency responding personnel, but are also applicable to any form of personal navigation including tracking astronauts on celestial bodies. Aside from measuring absolute heading and position of an individual, the exemplary implementation allows for a reduced set of measurements that provides distances between nodes that can be directly utilized to determine displacements between parts of an individual's body (e.g. arms, legs, torso), or parts on a robot (e.g. robotic arms, sensor appendages), or parts of other moveable objects on a device.
Exemplary implementation described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) can be implemented using computer program products. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer special purpose computer or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. For example, instructions embodied on a computer-readable medium can be executed by a processor to provide the functionality of either the central node, the controller, and the sensor nodes (A, B, C).
More generally, computer program instructions may be stored in a computer readable medium that can direct a computer, or other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by one of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.
This application claims priority from U.S. Provisional Application No. 61/258,973 filed on Nov. 6, 2009, the disclosure of which is incorporated herein by reference in their entirety.
This invention was made with government support under NNX08AF14G awarded by Department of Homeland Security (through NASA). The government has certain rights in the invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2010/055813 | 11/8/2010 | WO | 00 | 10/25/2012 |
Number | Date | Country | |
---|---|---|---|
61258973 | Nov 2009 | US |