USPatent applicationPatented

Apparatus and method for calculating absolute movement path and recording medium

Granted 15 Oct 2013 · no office action yet

Current assignee: Samsung Display · originally Fujitsu Limited

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Kyouko Okuyama, Shinichiro Mori · Examiner: Yonel Beaulieu · AU 3663 · TC 3600

Life of the application

9 dated events
⤢ drag to zoom20102012201420162018202020222024202620282030ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

An absolute-movement-path calculating apparatus includes a direction acquiring part detecting a movement direction of the terminal at a given timing; a movement-distance calculating part calculating a movement distance of the terminal at the given timing; a relative-movement-path calculating part calculating a relative movement path based on the number of steps and a user\'s step length and storing the relative movement path; an absolute-position acquiring part acquiring an absolute position of the terminal, and storing the absolute position; and an absolute-movement-path calculating part calculating, each time the absolute positions are stored, a correction value from the relationship between at least two absolute positions and the relative positions corresponding to the absolute positions and calculating an absolute movement path of the terminal indicated by the absolute coordinate from the correction value and the relative movement path.

Description

18 parts
›CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2008-295292, filed on Nov. 19, 2008, the entire contents of which are incorporated herein by reference.

›FIELD

The present embodiments relate to an apparatus and method for calculating an absolute movement path and a computer-readable recording medium storing a program for calculating an absolute movement path.

More particularly, the embodiments relate to an absolute-movement-path calculating apparatus, an absolute-movement-path calculating method, and a computer-readable recording medium storing a program for causing a computer to calculate an absolute movement path of a terminal.

›BACKGROUND

Hitherto, development of portable terminals (mobile terminals) which are provided with an apparatus for calculating a movement path (walking path) of a user by using autonomous navigation has been advanced (refer to Japanese Unexamined Patent Application Publication No. 11-194033).

Such an apparatus has, for example, a direction detecting function to detect a movement direction, a number-of-steps detecting function to detect a number of steps, a movement-distance calculating function to calculate a movement distance from the number of steps and a one step length that is input in advance, and a position detecting function to acquire an absolute position of a present location by using, for example, a global positioning system (GPS) receiver. The apparatus calculates a movement path of a user based on the values (the absolute position, the direction, the movement distance, etc.) acquired by using the above functions.

In addition, advanced safety services have received attention in recent years. The advanced safety services locate positions of vehicles on roads to provide information, warning, intervention control, etc. for the vehicles based on the located positions.

For example, position locating technologies using optical beacons provided on roads and optical beacon receivers which are in-vehicle devices are disclosed. The use of such a technology enables a vehicle to receive, for example, a stop warning service at an intersection at a time when the vehicle passes below an optical beacon provided before the vehicle enters the intersection (refer to Japanese Unexamined Patent Application Publication No. 2009-19979, and Japanese Unexamined Patent Application Publication No. 2009-26056).

However, since the number-of-steps measuring function in the related art can cause an error in the number of steps, the number of steps that is counted can be larger than or smaller than the actual number of steps. In addition, since the step length is set by the user, the difference in the step length can occur between the set step length and the actual step length.

In order to resolve above problems, methods for calculating accurate step lengths are disclosed. For example, Japanese Unexamined Patent Application Publication No. 09-89584 discloses a method of calculating a distance between two GPS measured values and dividing the distance by the number of steps to calculate an accurate step length. However, since a measurement error can occur in the GPS and an error in the number of steps can also occur, as described above, it may be difficult to calculate the accurate step length with the above technology.

In the related art, when a terminal is inclined, the inclination of the terminal is corrected to calculate an accurate azimuth by using direction detecting functions (refer to Japanese Unexamined Patent Application Publication No. 08-278137 and Japanese Unexamined Patent Application Publication No. 2004-286732). However, if the direction depicted by the terminal (the reference direction of the terminal) is different from the movement direction of a user carrying the terminal (for example, if the user advances while carrying the terminal that is transversely situated), it is not possible to correct the difference in the direction. As a result, a difference (direction difference) can occur between the direction measured by the terminal and the actual direction.

Furthermore, values measured by the GPS are directly used as the absolute positions in the autonomous navigation in the related art. The absolute positions are revised by calculating a distance corresponding to the measurement error because the measurement error is highly possible to occur in the GPS, as described above. In addition, various services including a service (right-turn assistance service) for depicting a timing to change a lane on a road when a vehicle is to turn right on the road, are proposed in the advanced safety services in vehicles. However, in order to realize the right-turn assistance service or the like, it is necessary to determine which lane the vehicle is on, whether the vehicle enters an intersection in which the vehicle is located, and so on.

The object and advantages of the embodiment discussed herein will be realized and attained by means of elements and combinations particularly pointed out in the claims.

It is to be understood that both the foregoing general description and the following detailed and the following detailed description are exemplary and only are not restrictive exemplary explanatory are not restrictive of the invention, as claimed.

›SUMMARY

According to embodiments, an absolute-movement-path calculating apparatus includes a direction acquirer detecting a movement direction of a terminal by referencing a standard axis defined for a terminal in advance at a given timing; a movement-distance calculator calculating a movement distance of the terminal at the given timing; a relative-movement-path calculator calculating a relative movement path, based on both the detection result in the direction acquirer and the detection result in the movement-distance calculator, and storing the relative movement path; an absolute-position acquirer acquiring an absolute position of the terminal, which corresponds to a start position of the calculated relative movement path and which is indicated by an absolute coordinate represented by a longitude and latitude, and storing the absolute position; and an absolute-movement-path calculator calculating, each time the absolute positions of a given number are stored, a correction value from the relationship between at least two absolute positions among the absolute positions of the given number, and the relative positions corresponding to the absolute positions and calculating an absolute movement path of the terminal indicated by the absolute coordinate from the correction value and the relative movement path.

The object and advantages of the embodiment discussed herein will be realized and attained by means of elements and combinations particularly pointed out in the claims.

It is to be understood that both the foregoing general description and the following detailed and the following detailed description are exemplary and only are not restrictive exemplary explanatory are not restrictive of the invention, as claimed.

The above-described embodiments of the present invention are intended as examples, and all embodiments of the present invention are not limited to including the features described above.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram schematically depicting an example of the configuration of a mobile telephone (particularly, a movement-path detecting apparatus) according to a first embodiment;

FIG. 2 is an operation chart depicting a process performed by an absolute-movement-path calculating apparatus;

FIG. 3 is an operation chart depicting operation S 10 in FIG. 2 in detail;

FIG. 4 illustrates the processing at operation S 110 in FIG. 3 in detail;

FIG. 5 is a table depicting an example of data resulting from operation S 10 in FIG. 2 ;

FIG. 6 is a table depicting an example of data generated after operation S 16 in FIG. 2 ;

FIG. 7 schematically depicts a relative path and relative positions resulting from the processing before determination at operation S 20 in FIG. 2 is affirmative;

FIG. 8 is an operation chart depicting operation S 22 in FIG. 2 in detail;

FIG. 9 illustrates operation S 130 in FIG. 8 ;

FIG. 10 is an operation chart depicting operation S 132 (calculation of a direction correction value) in FIG. 8 in detail;

FIG. 11 is an operation chart depicting operation S 158 in FIG. 10 in detail;

FIGS. 12A and 12B are diagrams illustrating the processing in FIG. 11 ;

FIGS. 13A and 13B are other diagrams illustrating the processing in FIG. 11 ;

FIGS. 14A , 14 B, and 14 C are other diagrams illustrating the processing in FIG. 11 ;

FIG. 15 is an operation chart depicting operation S 134 (calculation of a distance correction value) in FIG. 8 in detail;

FIGS. 16A and 16B are diagrams illustrating the processing in FIG. 15 ;

FIGS. 17A and 17B are other diagrams illustrating the processing in FIG. 15 ;

FIG. 18 is an operation chart depicting operation S 136 (calculation of a coordinate correction value) in FIG. 8 in detail;

FIG. 19 is an operation chart depicting operation S 210 (calculation of a coordinate correction value in an X axis direction) in FIG. 18 in detail;

FIG. 20 is an operation chart depicting operation S 212 (calculation of a coordinate correction value in a Y axis direction) in FIG. 18 in detail;

FIG. 21 illustrates the processing at operations S 208 to S 212 in FIG. 18 ;

FIG. 22 is an operation chart depicting operation S 138 in FIG. 8 in detail;

FIG. 23A is a table depicting data about the relative path after correction, resulting from operation S 262 in FIG. 22 ;

FIG. 23B is a table depicting data about the relative path after correction, resulting from operation S 264 in FIG. 22 ;

FIG. 24A is a table depicting data about the relative path after correction, resulting from operation S 266 in FIG. 22 ;

FIG. 24B is a table depicting data about the relative path after correction, resulting from operation S 268 in FIG. 22 ;

FIG. 25 is an operation chart depicting a second modification concerning a detection process;

FIG. 26 is an operation chart depicting a modification of a method of calculating the direction correction value;

FIG. 27 illustrates the processing in FIG. 26 ;

FIG. 28 is an operation chart depicting a first modification concerning a method of calculating the distance correction value;

FIGS. 29A and 29B illustrate the processing in FIG. 28 ;

FIGS. 30A and 30B correspond to FIG. 29 in a second modification concerning the method of calculating the distance correction value;

FIG. 31 schematically depicts an advanced safety service system according to a second embodiment of the present invention;

FIG. 32 is a block diagram depicting examples of the configurations of an optical beacon and an in-vehicle apparatus;

FIG. 33 is an operation chart depicting a process performed by a vehicle-path calculating unit;

FIG. 34 is an operation chart depicting the processing at operation S 502 in FIG. 33 in detail;

FIG. 35 is an operation chart depicting the processing at operation S 512 in FIG. 33 in detail;

FIG. 36 is an operation chart depicting the processing at operation S 542 in FIG. 35 in detail;

FIG. 37 is an operation chart depicting the processing at operation S 544 in FIG. 35 in detail; and

FIG. 38 is an operation chart depicting the processing at operation S 546 in FIG. 35 in detail.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 1 of 13

Reference may now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.

An error in distance, a direction, and/or position occur in the calculation of a walking path by using the autonomous navigation in the related art, preventing accurate calculation of the path.

Although the time when a vehicle passes below an optical beacon can be accurately determined with the position locating technologies described above, it is hard to accurately determine, for example, which lane the vehicle is in after passing below the optical beacon, or how far the vehicle is from an intersection in which the vehicle is located. Accordingly, in order to improve the advanced safety service, it is necessary to accurately determine the traveling path of the vehicle by using the autonomous navigation, as in the case of the walking path.

In addition, a method is commonly used in the autonomous navigation in vehicles in which a variation in direction is acquired by a gyro sensor and the traveling distance is acquired by a vehicle-speed pulse sensor. However, since it is necessary to set the initial value for the direction in the gyro sensor, and a difference in measurement occurs between the gyro sensor and the vehicle-speed pulse sensor, a shift from the actual movement path occurs with the increasing traveling distance.

It is an object of the present invention to provide an absolute-movement-path calculating apparatus, an absolute-movement-path calculating method, and a computer-readable recording medium storing a program for accurately calculating an absolute movement path of a terminal.

The movement-path calculating apparatus, the absolute-movement-path calculating method, and the program described in this specification have the advantage of accurate calculation of the absolute movement path of a terminal.

First Embodiment

A first embodiment of the present invention will herein be described in detail with reference to FIGS. 1 to 24B .

FIG. 1 is a block diagram depicting an example of the configuration of a mobile telephone 100 , which is a mobile terminal provided with an absolute-movement-path calculating apparatus according to an embodiment of the present invention. Referring to FIG. 1 , the mobile telephone 100 includes a geomagnetic sensor 30 , an acceleration sensor 40 , a GPS receiver 59 , and an absolute-movement-path calculating apparatus 50 . Although the mobile telephone 100 has various functions including a calling function, a mailing function, an Internet communication function, and a camera function, examples of the configurations concerning these functions are omitted in FIG. 1 .

The absolute-movement-path calculating apparatus 50 includes a direction acquiring detecting part 12 , a movement-distance calculating part 14 serving as a movement-distance calculating part, a relative-path calculating part 16 serving as a relative-movement-path calculating part, an absolute-position acquiring part 18 , a coordinate converting part 20 , a correction-value calculating part 22 , a correction-value storage 24 , and a path-information storage 26 . The coordinate converting part 20 and the correction-value calculating part 22 compose an absolute-movement-path calculating part.

The direction acquiring detecting part 12 acquires a geomagnetic value detected by the geomagnetic sensor 30 to acquire a direction (hereinafter referred to as a relative direction) by referring a standard axis defined in the mobile telephone 100 in advance on the basis of the geomagnetic value. For example, a magnetic orientation sensor capable of detecting the geomagnetism on a three-axis coordinate system is used as the geomagnetic sensor 30 .

The movement-distance calculating part 14 holds information about a step length indicating the length of one step of a user in advance. The step length information is input by the user. The movement-distance calculating part 14 uses the step length information and information about the number of steps calculated from the acceleration detected by the acceleration sensor 40 to calculate the movement distance (=the step length×the number of steps) of the user. For example, a sensor of detecting accelerations in the three-axis directions is used as the acceleration sensor 40 . The movement distance is calculated in the same manner as in pedometers using acceleration sensors.

The relative-path calculating part 16 uses the relative direction acquired by the direction acquiring part 12 and the distance calculated by the movement-distance calculating part 14 to calculate a relative movement path (hereinafter simply referred to as a “relative path”). The absolute-position acquiring part 18 acquires an absolute position (represented by a longitude and latitude) via the GPS receiver 59 .

The coordinate converting part 20 performs inter-conversion between the coordinate system (the coordinate system represented by longitudes and latitudes) of the absolute position acquired by the absolute-position acquiring part 18 and the coordinate system (for example, an X-Y coordinate system representing distances) of the relative path calculated by the relative-path calculating part 16 .

The correction-value calculating part 22 includes a direction-correction-value calculator 222 , a distance-correction-value calculator 224 , a coordinate-correction-value calculator 226 , and a correction value applier 228 , as depicted in FIG. 1 . The direction-correction-value calculator 222 calculates a direction correction value used for correcting an error in the relative direction on the basis of the relative path and multiple absolute positions. The distance-correction-value calculator 224 calculates a distance correction value used for correcting an error concerning the distance on the basis of the relative path and multiple absolute positions. The coordinate-correction-value calculator 226 calculates a coordinate correction value used for correcting an error in the coordinate on the basis of the relative path and multiple absolute positions. The correction values calculated by the direction-correction-value calculator 222 , the distance-correction-value calculator 224 , and the coordinate-correction-value calculator 226 are temporarily stored in the correction-value storage 24 . The correction value applier 228 reads out each correction value, as needed, to correct the relative path on the basis of the readout correction value.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 2 of 13

The path-information storing part 26 stores a result of conversion of the relative path corrected by the correction-value calculating part 22 into an absolute coordinate by the coordinate converting part 20 .

A process of creating a walking history according to the present embodiment will now be described in detail according to an operation chart in FIG. 2 and with reference to other drawings.

The operation chart in FIG. 2 depicts a process started when the movement-distance calculating part 14 detects measurement by the acceleration sensor 40 in response to start of walking of the user carrying the mobile telephone 100 .

Referring to FIG. 2 , at operation S 10 , the relative-path calculating part 16 , etc. executes a subroutine to create a relative path since the start of the walking depicted in FIG. 3 . Referring to FIG. 3 , at operation S 110 , the direction acquiring part 12 detects a relative direction via the geomagnetic sensor 30 . At operation S 112 , the movement-distance calculating part 14 counts the number of steps of the user via the acceleration sensor 40 . At operation S 114 , the movement-distance calculating part 14 uses the number of steps of the user and the step length that is input by the user in advance to calculate a movement distance. In this case, the movement distance can be calculated according to Expression (1):

(Movement distance)=(a number of steps)×(a step length)  (1)

At operation S 116 , the relative-path calculating part 16 calculates the position of the user from the relative direction detected at operation S 110 and the movement distance calculated at operation S 114 as a value on a relative coordinate system (the X-Y coordinate system representing distances with respect to the origin (0, 0) indicating the position where the user starts walking).

Specifically, as depicted in FIG. 4 , the relative position (X i+1 , Y i+1 ) of the user is represented according to Expressions (2) and (3) using the previous position (X i , Y i ):

X i+1 =X i +L cos(90−θ i )  (2)

Y i+1 =Y i +L sin(90−θ i )  (3)

where θ i denotes the relative direction (angle) (the direction detected at operation S 110 ) of the mobile telephone 100 with respect to the magnetic north (the direction depicted by the north (N) pole of magnetic compasses) and L denotes the step length.

Since the coordinate (X 0 , Y 0 ) of the position where the user starts walking is equal to (0, 0), the relative position (X 1 , Y 1 ) at the first step is represented according to Expression (2)′ and (3)′:

X 1 =L cos(90−θ 1 )  (2)′

Y 1 =L sin(90−θ 1 )  (3)′

The execution of operation S 10 in FIG. 2 (the subroutine in FIG. 3 ) for every step on the basis of the information about the number of steps calculated from the acceleration detected by the acceleration sensor 40 allows the movement path (relative path) of the user carrying the mobile telephone 100 to be acquired.

Referring back to FIG. 2 , at operation S 12 , the relative-path calculating part 16 determines whether the increased number of steps exceeds a threshold value M. It is assumed here that the threshold value M is equal to, for example, eight (steps). If the determination at operation S 12 is negative, the process goes to operation S 14 . At operation S 14 , the movement-distance calculating part 14 monitors the acceleration sensor 40 to determine whether the user is walking. If the determination at operation S 14 is affirmative, the process goes back to operation S 10 .

Then, the processing and determination at operations S 10 , S 12 , and S 14 are repeated until the determination at operation S 12 is affirmative (until the user has walked eight steps) or the determination at operation S 14 is negative (until the user stops walking).

If the determination at operation S 12 is affirmative as the result of the above processing and determination, the process goes to operation S 16 . The above processing results in acquisition of data depicted in a table in FIG. 5 . The date and time when each piece of data is acquired, the number of (1)

steps since the user starts walking, the azimuth, the coordinate values (Xi, Yi) are recorded in the table in FIG. 5 . It is assumed here that the step length of the user is set to 0.7 m.

At operation S 16 , the absolute-position acquiring part 18 detects an absolute position (a position represented by a longitude and latitude) by using the GPS receiver 59 . The detection result is recorded as the GPS measured value at the eighth step operation, as depicted in a table in FIG. 6 . Although it takes a few seconds to produce the measurement result after the corresponding measurement request is received when the GPS measurement is actually performed, it is assumed here that the measurement result is produced immediately after the measurement request is received for convenience.

At operation S 18 , the relative-path calculating part 16 resets the increased number of steps (returns the increased number of steps, eight, to zero).

At operation S 20 , it is determined whether the number of the absolute positions detected at operation S 16 exceeds a threshold value N. It is assumed here that the threshold value N is equal to two. The determination at operation S 20 is affirmative if the number of absolute positions becomes equal to three. Since the number of absolute positions that have been measured is only one at this time, the determination at operation S 20 is negative and the process goes to Operation S 14 .

If the determination at operation S 14 is affirmative, the loop including Steps S 10 , S 12 , and S 14 is repeated. Then, if the relative positions corresponding to another eight steps are acquired, the absolute position is detected again at operation S 16 and the process goes to Operation S 14 through Operations S 18 and S 20 . Then, if the third absolute position is detected as the result of the repetition of the above processing, the determination at operation S 20 is affirmative. The above processing results in acquisition of the relative path represented by continuous arrows depicted in FIG. 7 and the relative positions for every eight steps. Hereinafter, the relative position at the eighth step is denoted by a′ and the absolute position measured at the eighth step is denoted by a. Similarly, the relative position at the 16-th step operation is denoted by b′, the absolute position measured at the 16-th step is denoted by b, the relative position at the 24-th step is denoted by c′, and the absolute position measured at the 24-th step is denoted by c (refer to FIG. 12A in terms of the absolute positions a, b, and c).

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 3 of 13

Referring back to FIG. 2 , at operation S 22 , a subroutine to convert a relative path into an absolute path is executed according to an operation chart in FIG. 8 . This subroutine includes a correction process (at operations S 130 to S 136 ) to bring the relative path acquired at operation S 10 close to the path along which the user actually moves (the actual movement path (refer to FIGS. 12A and 12B )) and a process (at operation S 138 ) of converting the path subjected to the correction into an absolute coordinate.

Referring to FIG. 8 , at operation S 130 , the coordinate converting part 20 converts the absolute positions (a, b, c) into values in the same coordinate system (the X-Y coordinate system indicating distances) as that of the relative path.

In this case, of the three absolute positions (a, b, c), the X-Y coordinates of the second and third absolute positions b and c are determined with respect to the X-Y coordinate (0, 0) of the first absolute position a.

The coordinate values are determined in the following manner:

In general, known methods of calculating distances from longitudes and latitudes include, for example, a calculation method by using spherical trigonometry in which the earth is assumed as a true sphere and a calculation method in which the earth is assumed as a plane. The calculation method in which the earth is assumed as a plane is adopted in the present embodiment.

FIG. 9 schematically depicts the relationship between the two absolute positions a and b. Referring to FIG. 9 , λ denotes longitude (rad) and φ denotes latitude (rad). When the longitude and latitude of the first absolute position a are represented as (λ 0 , φ 0 ), which is set as the origin (0, 0), the longitude and latitude (λ i , φ i ) of the second absolute position b are represented by (λ i −λ 0 , φ i −φ 0 )=(Δλ, Δφ).

In this case, the relative coordinate (Δx, Δy) of the second absolute position b can be calculated according to Expressions (4) and (5):

Δ x=A ×Δλ×cos(φ i )  (4)

Δ y=A×Δφ   (5)

where A denotes the equatorial radius (6,378,137 m) of the earth.

Also in the case of the remaining absolute position c, the distances (m) in the X axis (longitudinal) direction and the Y axis (latitudinal) direction from the longitude and latitude (λ 0 , φ 0 ) of the first absolute position can be calculated to convert the calculated distances into values on the relative coordinate system (X-Y coordinate system) in the above manner. The longitude and latitude (λ 0 , φ 0 ) of the absolute position a, used as the origin (0, 0) in the relative coordinate conversion, are stored in the correction-value storage 24 as a reference absolute coordinate.

Referring back to FIG. 8 , at operation S 132 , a subroutine to calculate a direction correction value is executed. This subroutine to calculate a direction correction value is executed according to flowcharts in FIGS. 10 and 11 . This method of calculating a direction correction value is especially effective in a case where an error in the absolute position (GPS measured value) occurs. Specifically, since the measurement error (denoted by circles ea, eb, and ec in FIG. 12A ) occurs in the GPS measurement, positions shifted from actual measurement positions a 0 , b 0 , and c 0 can be output as the GPS measured values, as depicted in FIG. 12A . However, the use of the following method enables the calculation of the direction correction value in consideration of the measurement error.

Referring to FIG. 10 , at operation S 152 , the direction-correction-value calculator 222 calculates an azimuth κ between two points having the largest distance therebetween among N-number (three) absolute positions. This azimuth means the azimuth of a solid line (a straight line ac) connecting the point a with the point c in the example in FIG. 12A .

At operation S 154 , the direction-correction-value calculator 222 calculates a GPS azimuth range including the azimuth of two points that have been actually measured (of a straight line a 0 c 0 ) from the GPS measurement error and the azimuth κ of the straight line ac.

In this case, the GPS azimuth range may be calculated according to s (6) and (7):

α=arcsin( r/gl/ 2)  (6)

κ−α≦GPS azimuth range≦κ+α  (7)

wherein r denotes the radius of the GPS measurement error and gl denotes the distance between the point a and the point c.

At operation S 156 , the direction-correction-value calculator 222 calculates a rotation angle range (larger than ta° and smaller than tb°) causing the azimuth of the two points (a′, c′) on the relative path corresponding to the GPS measured values at the two points (a, c) to be within the GPS azimuth range according to Expression (7).

As depicted in FIG. 12B , the coordinate of the point c is represented by (Bx, By) and the vector from the point a to the point c is represented by B when the coordinate of the point a is set as the origin (0, 0) and the coordinate of the point c′ is represented by (Ax, Ay) and the vector from the point a′ to the point c′ is represented by A when the coordinate of the point a′ is set as the origin (0, 0) to determine the rotation angle from the vector A to the vector B.

Provided that the unit vector of the vector A is AE=A/|A| and the unit vector of the vector B is BE=B/|B|, a rotation angle ψ can be calculated according to Expression (8):

AE·BE=|AE|×|BE |×cos(ψ)  (8)

where 0°≦ψ≦180°. The direction of rotation can be determined from the sign of the vector product of the unit vector AE and the unit vector BE.

Accordingly, ta=ψ−α and tb=ψ+α by using the rotation angle ψ and the angle α calculated according to Expression (6).

At operation S 158 , the direction-correction-value calculator 222 executes a subroutine to calculate a rotation angle causing the difference in azimuth of the GPS measured values (a, b, c) and the relative positions (a′, b′, c′) corresponding to the GPS measured values to be minimized within the rotation angle range (larger than (ψ−α)° and smaller than (ψ+α)°). A process depicted in an operation chart in FIG. 11 is executed here.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 4 of 13

Referring to FIG. 11 , at operation S 160 , the direction-correction-value calculator 222 sets a variable β of the rotation angle to ta (=ψ−α). At operation S 162 , the direction-correction-value calculator 222 rotates the relative positions (a′, b′, c′) corresponding to the GPS measures values (a, b, c) by β°, as depicted in FIG. 13A . In this case, provided that the coordinate before the rotation is represented by (x, y) and the coordinate after the rotation is represented by (x′, y′), x′ and y′can be calculated according to Expressions (9) and (10):

x′=x ×cos β− y ×sin β  (9)

y′=x ×sin β+ y ×cos β  (10)

At operation S 164 , the direction-correction-value calculator 222 calculates angles between the sides of a polygon resulting from connection of N-number absolute positions (a triangle resulting from connection of three points in this embodiment) and the corresponding sides of a polygon resulting from connection of N-number relative positions (a triangle resulting from connection of three points in this embodiment), as depicted in FIG. 13B . Specifically, an angle γa between a side ab and a side a′b′ depicted in FIG. 14A , an angle γb between a side be and a side b′c′ depicted in FIG. 14B , and an angle γc between a side ca and a side c′a′ depicted in FIG. 14C are calculated. Then, the correction-value calculating part 22 calculates the sum of all the angles (γa+γb+γc).

At operation S 166 , the direction-correction-value calculator 222 increments the variable β of the rotation angle by Δ (Δ is equal to, for example, one degree). At operation S 168 , the direction-correction-value calculator 222 determines whether the variable β of rotation angle is not higher than tb=(ψ+α). If the determination at operation S 168 is affirmative, the process goes back to Operation S 162 to repeat operations S 162 , S 164 , and S 166 in the above manner until the determination at operation S 168 is negative. During this repetitive process, the calculation of the sum (γa+γb+γc) of the angles is repeated while shifting the relative path by one degree.

If the determination at operation S 168 is negative, the direction-correction-value calculator 222 determines a rotation angle β′ having the smallest sum of the angles (γa+γb+γc) and sets the rotation angle β′ as the direction correction value at operation S 170 . The direction correction value β′ is stored in the correction-value storage 24 in FIG. 1 . Then, the process goes to Operation S 134 in FIG. 8 .

At operation S 134 , a subroutine to calculate a distance correction value is executed. This subroutine is executed according to an operation chart in FIG. 15 .

Referring to FIG. 15 , at operation S 182 , the distance-correction-value calculator 224 calculates a rotated relative path (Rr) resulting from rotation of the relative path by the direction correction value β′.

At operation S 184 , the distance-correction-value calculator 224 calculates a centroid G (refer to FIG. 16A ) of N-number absolute positions (three points here) (GPS measured values). The centroid G can be calculated from the average of the X coordinate values of the points a, b, and c and the average of the Y coordinate values thereof.

At operation S 186 , the distance-correction-value calculator 224 calculates a centroid G′ (refer to FIG. 16A ) of N-number points (a′, b′, c′) on the rotated relative path Rr corresponding to the N-number absolute positions (GPS measured values). At operation S 188 , the distance-correction-value calculator 224 calculates a rotated relative path Rr′ resulting from matching the centroid G′ on the rotated relative path with the centroid G of the absolute positions, as depicted in FIG. 16B .

At operation S 190 , the distance-correction-value calculator 224 sets the value of a variable ε representing a scale factor to a minimum scale factor sa that is set in advance. The minimum scale factor sa is equal to, for example, 0.5. A maximum scale factor tb of the value of the variable ε is also set in advance and is equal to, for example, 2.0.

At operation S 192 , the distance-correction-value calculator 224 increases the length of the rotated relative path Rr′ by a factor of ε (0.5) with the two centroids being matched with each other (with no shift between the two centroids), as depicted in FIG. 17A . Then, the distance-correction-value calculator 224 calculates the sum of the distances (a distance da between the points a and a′ and a distance db between the points b and b′, and a distance dc between the points c and c′ depicted in an enlarged manner in FIG. 17B ) between the N-number absolute positions (GPS measured values) and the corresponding points on the rotated relative path Rr′ that is increased by a factor of ε.

At operation S 194 , the distance-correction-value calculator 224 increments the value of the variable ε by Δ (Δ is equal to, for example, 0.1). At operation S 196 , the distance-correction-value calculator 224 determines whether the value of the variable ε is not higher than the maximum scale factor tb. If the determination at operation S 194 is affirmative, the process goes back to Operation S 192 . Then, the sum of the distances da, db, and dc is calculated while the value of the variable ε is increased by Δ.

If the value of the variable ε exceeds the maximum scale factor tb, the determination at operation S 196 is negative and the process goes to Operation S 198 . At operation S 198 , the distance-correction-value calculator 224 determines a scale factor ε′ having the smallest sum of the distances da, db, and dc and sets the determined scale factor ε as the distance correction value. Then, the process goes to Operation S 136 in FIG. 8 . The determined distance correction value ε′ is stored in the correction-value storage 24 in FIG. 1 .

After the distance correction value is calculated, a subroutine to calculate a coordinate correction value at operation S 136 (refer to FIG. 8 ) is executed according to operation charts in FIGS. 18 to 20 .

Referring to FIG. 18 , at operation S 202 , the coordinate-correction-value calculator 226 rotates the relative path by the direction correction value β′ and extends or reduces the relative path by the distance correction value ε′ to calculate a relative path (Rr″). The relative path Rr″ is depicted in FIG. 21 .

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 5 of 13

At operation S 204 , the coordinate-correction-value calculator 226 calculates a centroid G (refer to FIG. 21 ) of the absolute positions (three points here) (GPS measures values). The centroid G is calculated at operation S 184 in FIG. 15 may be stored and read out.

At operation S 206 , the coordinate-correction-value calculator 226 calculates a centroid G″ (refer to FIG. 21 ) of the N-number points (three points (a′, b′, c′)) on the relative path Rr″ N-number corresponding to the N-number absolute positions (GPS measured values) (three points (a, b, c)).

At operation S 208 , the coordinate-correction-value calculator 226 calculates differences (Δcx, Δcy) depicted in FIG. 21 (Δcx denotes the difference on the X axis and the Δcy denotes the difference on the Y axis) between the centroid G of the absolute positions (GPS measured values) and the centroid G″ on the relative path Rr″. In addition, the coordinate-correction-value calculator 226 calculates a relative path Rr′″ resulting from matching the centroid G″ on the relative path Rr″ with the centroid G.

At operation S 210 , a subroutine to calculate a coordinate correction value in the X axis direction is executed according to an operation chart in FIG. 19 .

Referring to FIG. 19 , at operation S 220 , the coordinate-correction-value calculator 226 substitutes—(GPS error radius r) for the initial value of a movement width deltx. At operation S 222 , the coordinate-correction-value calculator 226 adds the movement width deltx to the X coordinates of the N-number points (three points a′, b′, and c) on the relative path Rr′″ (shifts the relative path Rr′″ in the X axis direction) to calculate the sum of the distances between the N-number points on the relative path Rr″ and the N-number absolute positions (GPS measured values) (three points a, b, and c).

At operation S 224 , the coordinate-correction-value calculator 226 increments the movement width deltx by dx. The dx in this case is set to, for example, a value of 0.1.

At operation S 226 , the coordinate-correction-value calculator 226 determines whether the movement width deltx is not larger than the GPS error radius (+r). If the determination at operation S 226 is affirmative, the process goes back to Operation S 222 to calculate the sum of the distances between the points a and a′, the points b and b′, and the points c and c′while increasing the movement width deltx to shift the relative path Rr′″.

If the determination at operation S 226 is negative, the coordinate-correction-value calculator 226 identifies the movement width deltx having the smallest sum of the distances (hereinafter denoted by deltx′) and sets a value resulting from addition of Δcx to deltx′ (Δcx+deltx′) as the X-axis-direction coordinate correction value at operation S 228 . The X-axis-direction coordinate correction value (Δcx+deltx′) is stored in the correction-value storage 24 in FIG. 1 . Then, the process goes to Operation S 212 in FIG. 18 .

At operation S 212 , a subroutine to calculate a coordinate correction value in the Y axis direction is executed according to an operation chart in FIG. 20 .

Referring to FIG. 20 , at operation S 240 , the coordinate-correction-value calculator 226 calculates a relative path Rr″″ resulting from correction of the relative path Rr′″ with the X-axis-direction coordinate correction value (Δcx+deltx′).

At operation S 242 , the coordinate-correction-value calculator 226 substitutes—(GPS error radius r) for the initial value of a movement width delty. At operation S 244 , the coordinate-correction-value calculator 226 adds the movement width delty to the Y coordinates of the N-number points (three points a′, b′, and c′) on the relative path Rr″″(shifts the relative path Rr″″ in the Y axis direction) to calculate the sum of the distances between the N-number points on the relative path Rr″″ and the N-number absolute positions (GPS measured values) (three points a, b, and c).

At operation S 246 , the coordinate-correction-value calculator 226 increments the movement width delty by dy. The dy in this case is set to, for example, a value of 0.1.

At operation S 248 , the coordinate-correction-value calculator 226 determines whether the movement width delty is not larger than the GPS error radius (+r). If the determination at operation S 248 is affirmative, the process goes back to Operation S 244 to calculate the sum of the distances between the points a and a′, the points b and b′, and the points c and c′while increasing the movement width delty to shift the relative path Rr″″.

If the determination at operation S 248 is negative, then at operation S 250 , the coordinate-correction-value calculator 226 identifies the movement width delty having the smallest sum of the distances (hereinafter denoted by delty′) and sets a value resulting from addition of Δcy to delty′ (Δcy+delty′) as the Y-axis-direction coordinate correction value. The Y-axis-direction coordinate correction value (Δcy+delty′) is stored in the correction-value storage 24 in FIG. 1 . Since all the steps in FIG. 18 (at operation S 136 in FIG. 8 ) are terminated, the process goes to Operation S 138 in FIG. 8 . In the operation chart in FIG. 18 , steps S 210 and S 212 may be executed in reverse.

At operation S 138 , a subroutine for conversion into an absolute coordinate is executed according to an operation chart in FIG. 22 .

Referring to FIG. 22 , at operation S 262 , the correction value applier 228 rotates the relative path Rr by the direction correction value β′. The rotation in this case can use Expression (9) and (10) described above. If the direction correction value is equal to 90°, the coordinate values x and y in the table in FIG. 5 are converted into values depicted in FIG. 23A .

At operation S 264 , the correction value applier 228 extends or reduces the relative path subjected to the rotation at operation S 262 by the distance correction value ε′. In this case, the value of each coordinate point on the rotated relative path may be integrated with the distance correction value ε′. If the distance correction value ε′ is equal to, for example, 1.1 in this step, the coordinate values x and y in FIG. 23A are converted into values depicted in FIG. 23B .

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 6 of 13

At operation S 266 , the correction value applier 228 moves in parallel the relative path extended or reduced at operation S 264 by the coordinate correction values (Δcx+deltx′ and Δcy+delty′) (adds the coordinate correction values to the coordinate values). If the Δcx+deltx′ is equal to −0.2 and Δcy+delty′ is equal to −2.0 in this operation, the coordinate values x and y in FIG. 23B are converted into values depicted in FIG. 24A .

At operation S 268 , the coordinate converting part 20 converts the relative path corrected at operations S 262 to S 266 into a longitude and latitude. Since the relative path subjected to the correction is still represented by the XY coordinate values depicting the distance, Expression (11) and (12) can be used to convert the relative path into a longitude and latitude, as depicted in FIG. 9 :

λ i =Δx /( A ×cos φ 0 )+λ 0   (11)

φ i =Δy/A+φ 0   (12)

where (λ 0 , φ 0 ) denote the longitude and latitude of the first absolute position a, which is used in the conversion of the absolute coordinate into the relative coordinate and is stored in the correction-value storage 24 . (λ 0 , φ 0 ) are read out from the correction-value storage 24 and the readout (λ 0 , φ 0 ) are used in this operation.

The above processing converts the coordinate values x and y in FIG. 24A into longitudes and latitudes, as depicted in FIG. 24B .

Since all the steps in FIG. 8 are terminated when the subroutine in FIG. 22 is terminated up to Operation S 268 , Operation S 22 in FIG. 2 is terminated and, then, the process goes to Operation S 24 .

Referring back to FIG. 2 , at operation S 24 , the path-information storage 26 (refer to FIG. 1 ) stores information about the path (the absolute movement path) converted by the coordinate converting part 20 . The path information at least includes the time, the longitude information, and the latitude information, among the values depicted in FIG. 24B .

At operation S 28 , the absolute-position acquiring part 18 resets the number of absolute positions. At operation S 30 , the relative-path calculating part 16 resets the relative path information. At operation S 32 , the movement-distance calculating part 14 determines whether the user is walking. If the determination at operation S 32 is affirmative, the process goes back to Operation S 10 . If the determination at operation S 32 is negative, the process in FIG. 2 is terminated.

If the determination at operation S 14 is negative during the above processing (if the user stops walking), a stop-of-walking process surrounded by a broken line in FIG. 2 is executed.

In the stop-of-waking process, at operation S 34 , the relative-path calculating part 16 determines whether the relative path information exists. If the determination at operation S 34 is negative, the stop-of-walking process is terminated. If the determination at operation S 34 is affirmative, the process goes to Operation S 36 .

At operation S 36 , it is determined whether the correction values and the reference absolute coordinate exist. If the determination at operation S 36 is negative, the stop-of-walking process is terminated. If the determination at operation S 36 is affirmative, the process goes to Operation S 38 .

At operation S 38 , the correction value applier 228 corrects the relative path coordinate with the correction values stored in the correction-value storage 24 and the coordinate converting part 20 converts the relative path coordinate subjected to the conversion into the absolute coordinate.

At operation S 40 , the path information (the absolute coordinate) resulting from the conversion at operation S 38 is stored in the path-information storage 26 . At operation S 42 , the relative-path calculating part 16 resets the relative path information. Then, the stop-of-walking process is terminated.

The path information (the absolute movement path) acquired in the above processing is displayed on the screen of the mobile telephone 100 each time the path information is updated or is appropriately displayed on the screen of the mobile telephone 100 in response to an instruction from the user.

As described above, according to the first embodiment, the relative path of the user is calculated from the direction that is depicted by the reference axis defined for the mobile telephone 100 in advance and that is detected by the geomagnetic sensor 30 and the detected movement distance of the user (the number of steps of the user, which is calculated from the step length that is set in advance×the acceleration). In addition, the absolute position of the mobile telephone 100 indicated by an absolute coordinate is measured by using the GPS each time the user walks a given number of steps (for example, eight steps). If the number of the measured absolute positions reaches a given value (for example, three), the correction values (β′, ε′, Δc×deltx, and Δy×delty) are calculated from the relationship between the absolute positions (a, b, and c) and the relative positions (a′, b′, and c′) on the relative path at the time when the absolute positions are measured to calculate the absolute movement path of the user indicated by the absolute coordinate from the correction values and the relative path.

Since the correction values used for bringing the relative path close to the actual movement path (the absolute movement path) can be calculated from the relationship between the absolute positions (a, b, and c) and the relative positions (a′, b′, and c′) corresponding to the absolute positions in the above manner, it is possible to accurately calculate the absolute movement path of the user regardless of how the terminal is carried by the user (for example, in the case in which the direction in which the user is moving is different from the direction depicted by the mobile telephone).

According to the first embodiment, the measurement of the absolute positions by the GPS is performed each time the movement distance of the user reaches a given value (the threshold value M). Accordingly, it is possible to acquire the absolute positions and to correct the relative path with the absolute positions at appropriate timing.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 7 of 13

According to the first embodiment, the relative path is acquired and the absolute positions of a given number (for example, three) are acquired while the user walks a given number of steps (for example, 24 steps) to correct the relative path with the correction values calculated by using the absolute positions of the given number and the relative positions corresponding to the absolute positions. When the user walks another given number of steps (another 24 steps), the relative path that is newly acquired is corrected with the correction values that are newly calculated from the absolute positions of the given number acquired during the walking. Since the relative path can be constantly corrected with the new correction values that are recently updated in the above manner in the first embodiment, it is possible to realize the accurate correction of the relative path.

According to the first embodiment, since the direction correction value used for correcting the direction, the distance correction value used for correcting the movement distance, and the coordinate correction value used for correcting the coordinate value are calculated, the rotation, the extension or reduction, and the parallel movement to bring the relative path close to the absolute movement path can be easily performed. Accordingly, it is possible to accurately correct the relative path. The correction values are not restricted to the above three values, and various correction values may be used as long as the correction values are calculated from at least two absolute positions and the relative positions corresponding to the absolute positions. For example, if either of the direction and the distance can be accurately measured with no error, either of the direction correction value and the distance correction value may not be used.

According to the first embodiment, the relative path is rotated so that the azimuth of the corresponding two relative positions is within the absolute-position azimuth range (larger than (κ−α) and smaller than (κ+α)) calculated from the azimuth κ between the two absolute positions having the largest distance therebetween and the measurement error in the absolute positions, and the rotation angle β′ causing the sum of the angles between the sides of a graphic resulting from connection of the absolute positions and the corresponding sides of a graphic resulting from connection of the relative positions corresponding to the absolute positions to be minimized is used as the direction correction value. Accordingly, it is possible to determine the value suitable for the direction correction value even if a measurement apparatus, such as the GPS, in which an error in the absolute position occurs, is used.

According to the first embodiment, the relative path is rotated by the direction correction value β′, a graphic resulting from connection of the relative positions corresponding to the measured absolute positions is extended or reduced with the centroid G of a graphic resulting from connection of the absolute positions being matched with the centroid G′ of the graphic resulting from connection of the relative positions corresponding to the absolute positions to calculate the scale factor ε′ of extension and reduction causing the sum of the distances between the absolute positions and the relative positions corresponding to the absolute positions to be minimized, and the scale factor ε′ is used as the distance correction value. Accordingly, it is possible to determine the value suitable for the distance correction value even if a measurement apparatus, such as the GPS, in which an error in the absolute position occurs, is used.

According to the first embodiment, the amount of movement (Δcx, Δcy) necessary to match the centroid G of a graphic resulting from connection of the absolute positions with the centroid G′ of a graphic resulting from connection of the relative positions corresponding to the absolute positions is calculated in the state in which the relative path is rotated by the direction correction value β′ and the relative path is extended or reduced by the distance correction value ε′ to determine the minute amount of movement (deltx′, delty′) of the relative path necessary to minimize the sum of the distances between the absolute positions and the relative positions corresponding to the absolute positions in the state in which the centroid G is matched with the centroid G′. Then, the sum of the amount of movement (Δcx, Δcy) and the minute amount of movement (deltx′, delty′) is used as the corresponding correction value. Accordingly, it is possible to determine the value suitable for the coordinate correction value even if a measurement apparatus, such as the GPS, in which an error in the absolute position occurs, is used.

(First Modification Concerning Detection Process)

Although the absolute positions are acquired (measured) when the movement distance reaches a given value (the number of steps reaches the threshold value M) in the above first embodiment, the acquisition of the absolute positions is not restricted to the above method. For example, the absolute positions may be detected when the amount of variation in direction reaches a given value (for example, 90°) because the user turns a corner. In this case, the absolute positions may be detected if either of the number of steps (the movement distance) and the amount of variation in direction exceeds a given value. Alternatively, for example, the absolute positions may be detected for every given time period. It is possible to detect the absolute positions at appropriate time intervals by any of the above methods.

(Second Modification Concerning Detection Process)

Although the relative path that is created at a time when the user walks a given number of steps (for example, 24 steps) is corrected with the correction values calculated from the relative path to calculate the absolute movement path (that is, the absolute movement path is not calculated before the user walks the given number of steps (for example, 24 steps)) in the above first embodiment, the method of calculating the absolute movement path is not restricted to the above one. For example, a process depicted in an operation chart in FIG. 25 may be performed, instead of the process in FIG. 2 .

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 8 of 13

Referring to FIG. 25 , at operation S 1010 , the creation of a relative path is performed in the same manner as at operation S 10 in FIG. 2 . At operation S 1012 , it is determined whether the correction values and absolute coordinate values exist in the correction-value storage 24 . If the determination at operation S 1012 is negative, then at operation S 1014 , it is determined whether the increased number of steps exceeds the threshold value M, as at operation S 12 in FIG. 2 . If the determination at operation S 1014 is negative (the increased number of steps does not exceed the threshold value M), then at operation S 1034 , it is determined whether the user is walking. If the determination at operation S 1034 is affirmative, the process goes back to Operation S 1010 . In other words, the processing and determination at operations S 1010 , S 1012 , S 1014 , and S 1034 are repeated until the increased number of steps exceeds the threshold value M.

If the determination at operation S 1014 is affirmative, at operations S 1016 and S 1018 , the same processing as at operations S 16 and S 18 in FIG. 2 (detection of the absolute positions and resetting of the increased number of steps) is performed.

At operation S 1020 , it is determined whether the number of absolute positions exceeds the threshold value N (for example, N is equal to two), as at operation S 20 in FIG. 2 . If the determination at operation S 1020 is negative, then at operation S 1034 , it is determined whether the user is walking. Then, the above processing is repeated.

If the number of absolute positions exceeds the threshold value N (=2) at operation S 1020 , the process goes to Operation S 1024 . At operation S 1024 , the same processing as at operation S 22 in FIG. 2 (conversion of the relative path into the absolute path) is performed. At operation S 1026 , the correction values and the reference absolute coordinate are stored in the correction-value storage 24 .

At operations S 1028 and S 1030 , the same processing as at operations S 28 and S 30 in FIG. 2 (the reset processing) is performed. At operation S 1034 , it is determined whether the user is walking.

According to this modification, after the correction values and the reference absolute coordinate are stored in the correction-value storage 24 at operation S 1026 , the determination at operation S 1012 is affirmative. Subsequently, at operation S 1036 , the relative path is converted into the absolute coordinate with the correction values and the reference absolute coordinate stored in the correction-value storage 24 . At operation S 1038 , information about the path resulting from the conversion (the absolute movement path) is stored in the path-information storage 26 .

As described above, since the correction values and the reference absolute coordinate that are calculated once are repeatedly used in the subsequent operations before the user stops walking, it is possible to reduce the amount of calculation, compared with the case in which the correction values and the reference absolute coordinate are updated each time the relative path is created. In addition, since the conversion into the absolute coordinate can be performed each time the relative path is created, it is possible to acquire the absolute path substantially in real time.

Instead of the above method, for example, the absolute movement path may be temporarily updated substantially in real time with the correction values and the reference absolute coordinate that are calculated before another N-number absolute positions are accumulated. In this case, the true absolute movement path may be calculated with new correction values and reference absolute coordinate that are calculated when another N-number absolute positions are accumulated. Then, the temporarily updated absolute movement path may be updated with the true absolute movement path to display the absolute movement path on the screen of the mobile telephone 100 .

(Modification of Method of Calculating Direction Correction Value)

Although the method depicted in FIGS. 10 to 14C is adopted to calculate the direction correction value in the first embodiment, the method of calculating the direction correction value is not restricted to the above one. For example, if the GPS measured values have no measurement error, the direction correction value may be calculated according to an operation chart in FIG. 26 .

Referring to FIG. 26 , at operation S 1050 , two points (points a and c depicted in FIG. 27 ) having the largest distance therebetween are selected from the absolute positions (GPS measured values) of N number (for example, three). At operation S 1052 , two points (points a′ and c′ depicted in FIG. 27 ) on the relative path corresponding to the two absolute positions having the largest distance therebetween are selected. At operation S 1054 , a rotation angle η causing the azimuth of the two points (the points a′ and c′) on the relative path to be matched with the azimuth of the two absolute positions (the points a and c) is calculated and the calculated rotation angle η is set as the direction correction value. The adoption of the above method of calculating the direction correction value allows the direction correction value to be accurately and easily calculated if no measurement error occurs.

(First Modification of Method of Calculating Distance Correction Value)

Although the distance correction value ε′ is calculated by the method depicted in FIGS. 15 to 17B in the first embodiment, the distance correction value may be calculated according to an operation chart in FIG. 28 .

Referring to FIG. 28 , at operation S 1060 , the distance-correction-value calculator 224 selects two absolute positions (points a and c in FIG. 29A ) having the largest distance therebetween from the N-number absolute positions (GPS measured values) and calculates a distance fa between the points.

At operation S 1062 , the distance-correction-value calculator 224 calculates a GPS distance range. Since the GPS error range has a radius r in this case, the GPS distance range is expressed by Expression (13):

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 9 of 13

fa− 2 r ≦GPS distance range≦ fa+ 2 r   (13)

The GPS distance range means a range including correct distances calculated from the GPS error range.

At operation S 1064 , the distance-correction-value calculator 224 calculates the relative positions when the two absolute positions are measured, that is, the distance (relative path distance) between the two points on the relative path corresponding to the two absolute positions. A distance fb between points a′ and c′ depicted in FIG. 29B is calculated here.

At operation S 1066 , the distance-correction-value calculator 224 compares the relative path distance fb with a maximum value (fa+2r) within the GPS distance range to determine whether the relative path distance fb exceeds the maximum value (fa+2r) within the GPS distance range. If the determination at operation S 1066 is affirmative, then at operation S 1068 , the distance-correction-value calculator 224 calculates the distance correction value ε′ according to Expression (14):

ε′=( fa+ 2 r )/ fb   (14)

If the determination at operation S 1066 is negative, then at operation S 1070 , the distance-correction-value calculator 224 compares the relative path distance fb with a minimum value (fa−2r) within the GPS distance range to determine whether the relative path distance fb is smaller than the minimum value (fa−2r) within the GPS distance range. If the determination at operation S 1070 is negative, then at operation S 1072 , the distance-correction-value calculator 224 sets the distance correction value E′ to one. Although the distance correction value is set to one here, the value of the distance correction value is not restricted to one. For example, a value given by dividing the GPS distance (fa) by the relative path distance (fb) may be used as the distance correction value ε′.

If the determination at operation s 1070 is affirmative, then at operation S 1074 , the distance-correction-value calculator 224 calculates the distance correction value ε′ according to Expression (15):

ε′=( fa− 2 r )/ fb   (15)

Since the method of calculating the distance correction value ε′ is varied in accordance with the relationship between the GPS distance range and the relative path distance also in the above method, it is possible to appropriately calculate the distance correction value.

(Second Modification of Method of Calculating Distance Correction Value)

The method of calculating the distance correction value is not restricted to the above first embodiment and the above first modification. For example, if the GPS measured values have no measurement error, the distance correction value may be calculated in a manner depicted in FIGS. 30A and 30B .

Specifically, there is no need to consider the GPS distance range if the GPS measured values have no measurement error. Accordingly, in such a case, the distance (GPS distance) Fa between points A and C may be calculated in a manner depicted in FIG. 30A and the distance (relative path distance) fb between points a′ and c′ may be calculated in a manner depicted in FIG. 30B to calculate the distance correction value ε′ from these values according to Expression (16):

ε′= fa/fb   (16)

The adoption of the above method of calculating the distance correction value allows the distance correction value to be easily and accurately calculated if no measurement error occurs.

(Modification of Method of Calculating Coordinate Correction Value)

Although the method depicted in FIGS. 18 to 21 is adopted to calculate the coordinate correction value in the above first embodiment, the method of calculating the coordinate correction value is not restricted to the above one. For example, if the GPS measured values have no measurement error, the difference (Δcx, Δcy) between the centroid G calculated at operation S 204 in FIG. 18 and the centroid G″ calculated at operation S 206 in FIG. 18 may be set as the coordinate correction value.

Although the conversion of the relative path into the absolute path (at operation S 22 ) is performed if the number of absolute positions exceeds the threshold value, two, that is, the number of absolute positions is equal to three at operation S 20 in FIG. 2 in the above first embodiment, the conversion of the relative path into the absolute path is not restricted to the above one. The threshold value may be equal to one. Specifically, the conversion of the relative path into the absolute path (at operation S 22 ) may be performed if the number of absolute positions is equal to two. In this case, the centroid of the absolute positions (or the relative positions) coincides with the midpoint of the two points. Alternatively, for example, the process may proceed to Operation S 22 if the number of absolute positions is equal to four or five. In this case, although the triangle used in the comparison in FIGS. 13B , 16 A, 16 B, 17 A, 17 B, and 21 is changed to a quadrangle or pentagon, the same method as in the above first embodiment may be adopted for the comparison in the angle (and the sum of the angles) between the sides and in the distance between the points.

Although the threshold value M of the number of steps is set to eight in the above first embodiment, the threshold value M is not restricted to eight and various values may be set as the threshold value M. In this case, the threshold value M may be varied depending on the situations. For example, the threshold value M may be increased if the number of steps since start of walking is small.

Second Embodiment

A second embodiment of the present invention will herein be described in detail with reference to FIGS. 31 to 38 .

FIG. 31 illustrates an example of an advanced safety service system that locates the position of a vehicle on a road to perform provision of information, warning, and intervention control for the vehicle on the basis of the located position. The advanced safety service system includes road-side apparatus (optical beacons) 90 provided on the road. Each optical beacon 90 communicates with an in-vehicle apparatus 60 (refer to FIG. 32 ), which is a mobile terminal mounted in the vehicle passing below the optical beacon 90 . The optical beacon 90 notifies the in-vehicle apparatus 60 of information about the absolute position of the vehicle (information indicating the longitude and latitude of the vehicle and information indicating which lane the vehicle is moving).

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 10 of 13

FIG. 32 is a block diagram illustrating an example of the configuration of the optical beacon 90 and an example of the configuration of the in-vehicle apparatus 60 .

Referring to FIG. 32 , the optical beacon 90 includes a light emitter-receiver 80 and a communication controller 82 . The light emitter-receiver 80 emits a light signal to the in-vehicle apparatus 60 and receives a light signal emitted from the in-vehicle apparatus 60 . The communication controller 82 controls communication with the in-vehicle apparatus 60 via the light emitter-receiver 80 .

The in-vehicle apparatus 60 includes a light receiving unit 70 , a data receiving unit 74 , a position-below-light-emitter-receiver calculating unit 72 , a gyro sensor 76 , a vehicle-speed pulse sensor 78 , and a vehicle-path calculating unit 50 ′ serving as an absolute-movement-path calculating apparatus.

The light receiving unit 70 receives a light signal from the optical beacon 90 . The data receiving unit 74 receives a variety of information from the optical beacon 90 via the light receiving unit 70 . The position-below-light-emitter-receiver calculating unit 72 extracts information about the absolute position of the optical beacon 90 from data (downlink transmission data) received by the data receiving unit 74 upon calculation (detection) of a vehicle that is immediately below the optical beacon 90 from the reception state of the light in the light receiving unit 70 .

The vehicle-path calculating unit 50 ′ calculates the position of the vehicle from the information about the absolute position extracted by the position-below-light-emitter-receiver calculating unit 72 and information about the relative path calculated by using the autonomous navigation from the results of detection in the gyro sensor 76 and the vehicle-speed pulse sensor 78 . The vehicle-path calculating unit 50 ′ has an exemplary configuration similar to that of the absolute-movement-path calculating apparatus 50 (refer to FIG. 1 ) according to the above first embodiment. Reference numerals resulting from addition of “′” to the reference numerals of the components in FIG. 1 are used in FIG. 32 to identify the same or similar components in FIG. 1 .

Specifically, the vehicle-path calculating unit 50 ′ includes an absolute-position acquiring part 18 ′, a direction acquiring part 12 ′, a movement-distance calculating part 14 ′, a relative-path calculating part 16 ′, a coordinate converting part 20 ′, a correction-value calculating part 22 ′, a correction-value storage 24 ′, and a path-information storage 26 ′. The absolute-position acquiring part 18 ′ extracts the absolute position information extracted by the position-below-light-emitter-receiver calculating unit 72 from the data received by the data receiving unit 74 . The direction acquiring detecting part 12 ′ acquires the direction of the vehicle by using the gyro sensor 76 . The movement-distance calculating part 14 ′ calculates the traveling distance of the vehicle by using the vehicle-speed pulse sensor 78 . The relative-path calculating part 16 ′ calculates a relative path from the direction acquired by the direction acquiring detecting part 12 ′ and the distance calculated by the movement-distance calculating part 14 ′. The coordinate converting part 20 ′ performs inter-conversion between the coordinate system of the absolute position and the coordinate system of the relative path. The correction-value calculating part 22 ′ calculates a correction value from the absolute position acquired by the absolute-position acquiring part 18 ′ and the relative path calculated by the relative-path calculating part 16 ′ and corrects the relative path with the correction value. The path-information storage 26 ′ stores results of conversion of the relative path corrected by the correction-value calculating part 22 ′ into the absolute coordinate by the coordinate converting part 20 ′.

A process using the in-vehicle apparatus 60 and the optical beacon 90 will now be described with reference to flowcharts in FIGS. 33 to 38 . The operation chart in FIG. 33 is started when the movement-distance calculating part 14 ′ detects start of traveling of a vehicle via the vehicle-speed pulse sensor 78 .

Referring to FIG. 33 , at operation S 502 , a subroutine to create a relative path is executed according to an operation chart in FIG. 34 . In the subroutine in FIG. 34 , at operation S 530 , the direction acquiring detecting part 12 ′ acquires a direction difference Δθ i of the vehicle on the basis of the detection result in the gyro sensor 76 .

At operation S 532 , the movement-distance calculating part 14 ′ acquires a movement distance ΔL i from the start point of the traveling of the vehicle on the basis of the detection result in the vehicle-speed pulse sensor 78 .

At operation S 534 , the relative-path calculating part 16 ′ calculates the relative position of the vehicle on the basis of the results at operations S 530 and S 532 .

In this case, the current direction θ i of the vehicle can be calculated according to Expression (17):

θ i =θ i−1 +Δθ i   (17)

where θ i−1 denotes the previous direction of the vehicle.

In addition, the current relative position (X i , Y i ) of the vehicle can be calculated according to Expressions (18) and (19):

X i =X i−1 +ΔL i cos(90−θ i )  (18)

Y i =Y i−1 +ΔL i sin(90−θ i )  (19)

where (X i−1 , Y i−1 ) denotes the previous relative position of the vehicle.

If I=1, it is necessary to set an initial value Δθ 1 of Δθ i (the initial value of the gyro sensor 76 ). According to the second embodiment, the initial value Δθ 1 may be set to a given value (for example, zero) or a user may input an arbitrary direction value as the initial value Δθ 1 .

Referring back to FIG. 33 , at operation S 504 , the position-below-light-emitter-receiver calculating unit 72 determines whether the downlink transmission data from the optical beacon 90 is received. If the determination at operation S 504 is affirmative, then at operation S 506 , the position-below-light-emitter-receiver calculating unit 72 determines whether the downlink transmission data is received from the first optical beacon. If the determination at operation S 506 is affirmative, then at operation S 508 , the position-below-light-emitter-receiver calculating unit 72 sets the absolute position information in the downlink transmission data for an absolute position 1 and stores the absolute position information along with the relative path information when the absolute position is acquired (the relative position corresponding to the absolute position 1 ).

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 11 of 13

Then, the determinations at operations S 502 and S 504 are performed. If the determination at operation S 504 is negative, the process goes to Operation S 522 . At operation S 522 , it is determined whether the correction values and the reference absolute coordinate exist. If the determination at operation S 522 is negative, the process goes back to Operation S 502 . Then, operation s S 502 , S 504 , and S 522 are repeated. After the determination at operation S 504 is affirmative, the determination at operation S 506 is negative (because the downlink transmission data from the second optical beacon has been received) and the process goes to Operation S 510 .

At operation S 510 , the position-below-light-emitter-receiver calculating unit 72 sets the absolute position information in the downlink transmission data for an absolute position 2 and stores the absolute position information along with the relative path information when the absolute position is acquired (the relative position corresponding to the absolute position 2 ).

At operation S 512 , a subroutine to convert the relative path into the absolute coordinate is executed according to an operation chart in FIG. 35 . In the subroutine in FIG. 35 , at operation S 540 , the coordinate converting part 20 ′ converts the absolute coordinates 1 and 2 into XY coordinates. In this case, for example, the coordinate of the absolute position 2 is set as the reference absolute coordinate, that is, is set to (0, 0) and the conversion into the XY coordinate is performed on the basis of the distance and the positional relationship between the absolute positions 1 and 2 , as in the above first embodiment. In the conversion into the XY coordinates, it is preferred that a calculation method using the spherical trigonometry or a calculation method in which the earth is assumed as an elliptical body of revolution be adopted to calculate a distance from a longitude and latitude because the traveling distances of vehicles are normally much longer than the movement distances of persons. However, if the distance between the absolute positions 1 and 2 is short, the calculating method in which the earth is assumed as a plane may be adopted, as in the above first embodiment.

At operation S 542 , a subroutine to calculate the direction correction value is executed according to an operation chart in FIG. 36 . In the subroutine in FIG. 36 , at operation S 560 , the direction-correction-value calculator 222 ′ selects the relative position corresponding to the absolute position 1 and the relative position corresponding to the absolute position 2 . At operation S 562 , the direction-correction-value calculator 222 ′ calculates the rotation angle β′ causing the azimuth of the two relative positions to be matched with the azimuth of the absolute positions 1 and 2 . The calculated rotation angle β′ is used as the direction correction value. The correction values can be easily calculated in the second embodiment, unlike the first embodiment. This is because the accurate absolute positions can be acquired through the optical beacons.

Referring back to FIG. 35 , at operation S 544 , the distance-correction-value calculator 224 ′ executes a subroutine to calculate the distance correction value according to an operation chart in FIG. 37 . In the subroutine in FIG. 37 , at operation S 570 , the distance-correction-value calculator 224 ′ calculates the distance (absolute position distance) between the absolute positions 1 and 2 .

At operation S 572 , the distance-correction-value calculator 224 ′ calculates the distance (relative position distance) between the relative position corresponding to the absolute position 1 and the relative position corresponding to the absolute position 2 .

At operation S 574 , the distance-correction-value calculator 224 ′ calculates the distance correction value ε′ according to Expression (20):

ε′=Absolute position distance/Relative position distance  (20)

Then, the process goes back to Operation S 546 in FIG. 35 .

At operation S 546 , a subroutine to calculate a coordinate correction value and to calculate a corrected relative path depicted in an operation chart in FIG. 38 is executed. In the subroutine in FIG. 38 , at operation S 580 , the coordinate-correction-value calculator 226 ′ rotates the relative path by the direction correction value β′ and extends or reduces the relative path by the distance correction value ε′ to calculate a corrected relative path.

At operation S 582 , the coordinate-correction-value calculator 226 ′ calculates a centroid coordinate G between the absolute positions 1 and 2 . In this case, the midpoint of the segment connecting the absolute position 1 with the absolute position 2 is used as the centroid coordinate G.

At operation S 584 , the coordinate-correction-value calculator 226 ′ calculates a centroid coordinate G′ between the relative position corresponding to the absolute position 1 and the relative position corresponding to the absolute position 2 . In this case, the midpoint of the segment connecting the two relative positions is used as the centroid coordinate G′.

At operation S 586 , the coordinate-correction-value calculator 226 ′ calculates a coordinate correction value in the X axis direction according to Expression (21):

Coordinate correction value in the X axis direction=X coordinate of centroid G−X coordinate of centroid G′  (21)

At operation S 588 , the coordinate-correction-value calculator 226 ′ calculates a coordinate correction value in the Y axis direction according to Expression (22):

Coordinate correction value in the Y axis direction=Y coordinate of centroid G−Y coordinate of centroid G′  (22)

Operations S 586 and S 588 may be performed in reverse.

At operation S 590 , the correction value applier 228 ′ adds the coordinate correction value in the X axis direction and the coordinate correction value in the Y axis direction to the coordinate values of the relative path corrected at operation S 580 to calculate the corrected relative path. Then, the process goes to Operation S 548 in FIG. 35 .

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 12 of 13

At operation S 548 , the coordinate converting part 20 ′ converts the corrected relative path calculated at operation S 590 in FIG. 38 into the absolute coordinate with respect to the absolute positions 1 and 2 . For example, the calculating method using the spherical trigonometry or the calculating method in which the earth is assumed as an elliptical body of revolution described above is preferably adopted in this conversion. However, if the distance between the absolute positions is relatively short, the calculation method in which the earth is assumed as a plane may be adopted, as in the above first embodiment.

When the process in FIG. 35 (the subroutine at operation S 512 ) is completed in the above manner, the process goes to Operation S 514 in FIG. 33 . At operation S 514 , the path-information storage 26 ′ stores the corrected relative path converted into the absolute coordinate. At operation S 516 , the direction correction value β′, the distance correction value E′, the coordinate correction value in the X axis direction, the coordinate correction value in the Y axis direction, and the reference absolute coordinate (the value of the absolute position 2 here) are stored in the correction-value storage 24 ′.

At operation S 518 , the absolute-position acquiring part 18 ′ replaces the value of the absolute position 1 with the value of the absolute position 2 and clears the absolute position 2 . At operation S 520 , the relative-path calculating part 16 ′ clears all the relative path information other than the relative position information corresponding to the current absolute position 1 (the previous absolute position 2 ) and the process goes back to Operation S 502 .

Then, at operation S 502 , the subroutine to create the relative path is executed. At operation S 504 , it is determined whether the downlink transmission data from the optical beacon is received. If the determination at operation S 504 is negative, the process goes to Operation S 522 . At operation S 522 , it is determined whether the correction values and the reference absolute coordinate exist. Since the correction values and the reference absolute coordinate have been stored in the correction-value storage 24 ′ at operation S 516 at this time, the determination at operation S 522 is affirmative. Then, at operation S 524 , the correction value applier 228 ′ and the coordinate converting part 20 ′ correct the relative path with the correction values and the reference absolute coordinate to convert the relative path into the absolute coordinate. At operation S 526 , the path-information storage 26 ′ stores the relative path converted into the absolute coordinate (the absolute movement path) and the process goes back to Operation S 502 .

Subsequently, operations S 510 to S 520 are performed upon reception of the downlink transmission data from the optical beacon 90 to calculate new correction values and a new reference absolute coordinate. Before another downlink transmission data is received after the calculation of the new correction values and reference absolute coordinate, the correction of the relative path and the coordinate conversion are performed by using these correction values and reference absolute coordinate.

According to the second embodiment, the path information (the absolute movement path) stored in the path-information storage 26 ′ in the above manner is appropriately displayed on the screen of a car navigation system mounted in the vehicle.

As described above in detail, according to the second embodiment, the relative path of the vehicle is calculated from the traveling direction of the vehicle detected by the in-vehicle apparatus 60 with the gyro sensor 76 and the traveling distance of the vehicle detected by the in-vehicle apparatus 60 with the vehicle-speed pulse sensor 78 . In addition, the absolute position coordinate of the optical beacon is received as the downlink data each time the vehicle passes below the optical beacon 90 and, when two absolute positions are accumulated, the correction values (β′, ε′, and the coordinate correction values) are calculated from the relationship between the two absolute positions and the two relative positions at the time when the absolute positions are measured. The correction values and the relative path are used to calculate the absolute movement path of the vehicle indicated by the absolute coordinate. Since the correction values causing the relative path to be close to the actual movement path (the absolute movement path) can be calculated from the relationship between the two absolute positions and the two relative positions corresponding to the absolute positions, it is possible to accurately calculate the absolute movement path of the user regardless of the initial value of the gyro sensor 76 .

According to the second embodiment, since the absolute movement path of the user can be accurately calculated, the determination of whether the vehicle is on a right-turn lane, whether the vehicle enters an intersection, where the vehicle is located in the intersection, etc. can be based on the absolute movement path. Accordingly, it is possible to further improve the advanced safety service by using the determined information.

According to the second embodiment, since the absolute position information is acquired each time the position information (the downlink transmission data) is received from the external transmitter (the optical beacon 90 ), it is possible to calculate the correction values and the reference absolute coordinate at appropriate timing.

According to the second embodiment, since the correction of the relative path and the coordinate conversion are performed by using the correction values and reference absolute coordinate that have been previously calculated before the downlink transmission data is received from the second optical beacon, it is possible to, for example, calculate the absolute position and display the path information (the absolute movement path) substantially in real time.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 13 of 13

Although the correction values and the reference absolute coordinate are re-calculated when two pieces of downlink transmission data from the optical beacon 90 are accumulated in the second embodiment, the time when the correction values and the reference absolute coordinate are re-calculated is not restricted to the above one. For example, when N-number (N≧2) absolute positions are accumulated, the correction values and the reference absolute coordinate may be re-calculated by using two absolute positions, among the N-number absolute positions, and the two relative positions corresponding to the absolute positions.

Although the in-vehicle apparatus 60 calculates the path information about the vehicle (the absolute movement path of the vehicle) by using the information from the optical beacon 90 in the second embodiment, the calculation method of the path information about the vehicle is not restricted to the above one. For example, the second embodiment is also applicable to a system of calculating the path information about the user (the absolute movement path of the user) having a radio frequency identification (RFID) code on the basis of information supplied from an apparatus supplying information to certain terminals (for example, an apparatus transmitting information to the RFID).

Although the correction values are calculated mainly using the two points having the largest distance therebetween, among the N-number absolute positions, in the above embodiments, other two points may be used instead of using the two points having the largest distance therebetween.

The absolute-movement-path calculating apparatus according to the above embodiments may be composed of a combination of the multiple parts (corresponding to the components in FIG. 1 and the components in FIG. 32 ). Alternatively, the parts may compose a computer system including a central processing unit (CPU), a read only memory (ROM), a random access memory (RAM), etc. and the functions of the parts may be realized by programs included in the computer system.

Further, according to an aspect of the embodiments, any combinations of the described features, functions and/or operations can be provided.

The many features and advantages of the embodiments are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the embodiments that fall within the true spirit and scope thereof. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the inventive embodiments to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope thereof.

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 inventions 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.

Although a few preferred embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.

Claims as granted

20 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

3 codes
IPC · International Patent Classification
Section G — Physics
  • G01C21/00
USPC · US Patent Classification
701/494701/400

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2010Jul 2010Jan 2011Jul 2011Jan 2012Jul 2012Jan 2013Jul 2013Jan 2014USPTOApplicantNotice of allowanceRequest for continued examinationNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
4.0 y
1,449 days filing → grant
Office actions
0
none on record
Responses
0
1 RCE
Examiner
Yonel Beaulieu
art unit 3663 · TC 3600
Citations: 24 back · 3 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20102012201420162018202020222024202620282030Owner 1Owner 2
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock