Information
-
Patent Grant
-
4879658
-
Patent Number
4,879,658
-
Date Filed
Tuesday, February 9, 198836 years ago
-
Date Issued
Tuesday, November 7, 198935 years ago
-
Inventors
-
Original Assignees
-
Examiners
Agents
-
CPC
-
US Classifications
Field of Search
US
- 364 443
- 364 444
- 364 449
- 073 178 R
- 342 450
- 342 451
- 340 988
- 340 990
- 340 995
-
International Classifications
-
Abstract
In a navigation system by which vehicle travel locations are detected by an angular rate sensor and a distance sensor and the detected vehicle travel locations are corrected so as to be displayed along a map road, the display errors are improved by matching a vehicle turn point behind a route judge area to a map branch point; a route judge area is adjusted according to route conditions to an adjacent branch point or detected travel angles or a distance between two adjacent branch points. Further, non-corrected vehicle location data are displayed only within the route judge area to remove unnatural vehicle location display.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a navigation system using an angular rate sensor, and more specifically to a navigation system by which automotive vehicle travel locations are detected by an angular rate sensor and a distance sensor and the detected vehicle locations are projected on a displayed map road, so that the vehicle travel display moves along a predetermined route on the map.
Since this system can operate independently without the need of other auxiliary means (e.g. radio signals), this system is effective in an an area where radio navigation systems cannot operate reliably, such as an urban area or other areas subject to radio interference.
2. Description of the Prior Art
The applicant has already proposed a dead reckoning and map correlation system for automotive vehicle tracking, which uses an angular rate sensor and a distance sensor, in Japanese Unexamined Published (Kokai) Patent Application No. 60-48600, entitled Vehicle Position Detecting System. In this system, current vehicle locations can be intermittently detected on the basis of vehicle travel distance data and vehicle travel angle data ((detected by an angular rate (velocity) sensor)); and the calculated vehicle locations are projected onto the roads displayed on a digital map (including road intersections and curves) previously prepared by inputting digital map data to a CPU through a keyboard so that the vehicle travel motion can track a road displayed on the map.
In the navigation system of this kind, it is extremely difficult to correct the error between the current location and the map road, so that the displayed vehicle motion can correctly track a predetermined road on the digital map. The correction method of the above-mentioned prior-art system will be described with reference the attached drawings. In FIG. 1(A), P'(X, Y) denotes coordinates of the current detected vehicle location point (not displayed); P.sub.1 (X.sub.1, Y.sub.1) denotes coordinates of an intersection of roads; S.sub.1 denotes a distance between the detected vehicle location data P' and the intersection data P.sub.1 ; .theta. denotes an angle data subtended by the two lines P.sub.1 P' and P.sub.1 P.sub.01. Further, the dashed curve denotes an actual vehicle travel route (not displayed).
The above distance data S.sub.1 and the angle data .theta. are detected for each predetermined distance to obtain the current detected vehicle location P'(X, Y). In FIG. 1(A), since the calculated position P' deviates from the route R, this position P' is projected on the route R for correction. That is, a corrected vehicle location P.sub.01 (X.sub.01, Y.sub.01) is calculated in accordance with the following expression:
X.sub.01 =X.sub.1 +S.sub.1 cos .theta.
Y.sub.01 =Y.sub.1 +S.sub.1 sin .theta.
S.sub.1 =.sqroot.(X.sub.1 -X).sup.2 +(Y.sub.1 +Y).sup.2
The above-mentioned correction method is fairly effective when the vehicle travels along a straight road. However, when the vehicle turns along an intersection or a curved road, various problems arise as follows:
(1) 1st problem
In this method, it is possible to reduce a correction error at an intersection as shown in FIG. 1(B). In more detail, even if the vehicle turns at an intersection as shown by dashed lines, since the distance D.sub.e can automatically be corrected at the intersection, the correction error between the actual and corrected points is small.
However, when the vehicle travels along an inflection as shown by dashed lines in FIG. 1(C), since D.sub.e cannot be corrected, there exists a large error e.
(2) 2nd problem
In this system, a route judge area as shown in FIG. 2(A) is determined at each branch point P.sub.1 to determine a turning point for the vehicle. That is, when a distance L.sub.1 between the current vehicle location P.sub.00 and the succeeding branch point P.sub.1 becomes less than a predetermined value L.sub.1, since this indicates that the vehicle approaches a branch point P.sub.1, a revised distance calculation begins to detect that the vehicle has passed through the point P.sub.1. And, when the calculated distance exceeds a predetermined value (L.sub.1 +L.sub.2), it is determined that the vehicle has turned at the branch point P.sub.1 by detecting the travel angle.
In the prior-art method, however, since this route judge area (L.sub.1 +L.sub.2) is fixed, when an adjacent point P.sub.2 is close to the point P.sub.1, there exists a problem in that the vehicle passes beyond the adjacent point P.sub.2 before the vehicle turns at the point P.sub.1, thus resulting in route change judgement error. Further, there exists another problem in that it is impossible to determine a sufficient route judgement distance between the two points P.sub.1 and P.sub.2.
Further, there exists another problem in that when a distance between two points P.sub.1 and P.sub.s is long and a large error occurs, the calculated distance to the point is quite different from an actual distance, so that it is impossible to detect a route judge area when the vehicle has passed through the point. The above-mentioned error between the calculated map distance and the actual distance is produced when a curved road R is approximated by a straight line P.sub.1 P.sub.2 as shown in FIG. 2(B). That is, the curved actual distance is larger than the straight map distance when the vehicle travels from P.sub.1 to P.sub.2, and shorter than the straight map distance when the vehicle travels from P.sub.2 to P.sub.1. Therefore, where these road inflections continue as shown in FIG. 2(C), there exists a problem such that cumulative errors are produced.
When the above error is produced, since there exists a difference in distance between the map branch point and the actual branch point, it is impossible to detect route change data within a route judge area JE.
FIG. 2(D) shows an example where the vehicle turns at the actual branch point B.sub.A before the route judge area JE of the map branch point B.sub.M is detected, because the distance between two map branch points is longer than the actual distance. FIG. 2(E) shows an example where the vehicle turns at the actual branch point B.sub.A after the vehicle has passed through the route judge area JE of the map branch point B.sub.M, because the distance between two map branch points is shorter than the actual distance.
(3) 3rd problem
In this system, straight routes between two points (e.g. intersections, branch points, turning corners, etc.) are calculated on the basis of map data including coordinates of these points and point numbers adjacent to each point, and the current vehicle travel locations are displayed along these calculated straight routes. Further, in order to judge a change in vehicle travel direction, a route judge area JE is provided at each point P.sub.1 as shown in FIGS. 3(A) and 3(B).
The third problem is how to display the current vehicle location within this route judge area JE.
In the prior-art system, the current vehicle location is continuously displayed along the route on which the vehicle runs toward the point P.sub.1, as shown by white dots in FIG. 3(A) or fixedly displayed at the point P.sub.1 as shown by a black dot in FIG. 3(B).
Therefore, in the case shown in FIG. 3(A), since the vehicle location is displayed even on an extension of the route P.sub.0 P.sub.1, there exists a problem in that a location mark is dislocated from the route when the vehicle turns at a T-shaped crossing or displayed as if the vehicle travels straight in spite of the fact that the vehicle turns right or left at a crossroads, thus resulting in a display error.
Further, in the case shown in FIG. 3(B), since the display mark jumps from the point P.sub.1 to a corrected location after a route change has been determined, there exists another problem in that the location is displayed in an unnaturally appearing manner.
SUMMARY OF THE INVENTION
With these problems in mind, therefore, it is the general objective of the present invention to provide a navigation system using an angular rate sensor which can accurately display the current vehicle travel location on a map by minimizing display errors.
More specifically, it is a first object of the present invention to provide a navigation system which can eliminate a display error caused at each branch point.
It is a second object of the present invention to provide a navigation system which can reliably determine area judge values so as to provide an indication that the vehicle has reached and passed through a route judge area even if a distance between two adjacent points is short or when the vehicle turns a corner gently.
It is a third object of the present invention to provide a navigation system which can reliably determine a area judge value so as to provide an indication that the vehicle has entered into a route judge area even if there exists a long curved road on the map.
It is a fourth object of the present invention to provide a navigation system which can display the vehicle location in a naturally appearing manner at each branch point even within the route judge.
To achieve the above-mentioned object, the navigation system for displaying travel locations of a vehicle on a displayed map, according to the present invention comprises: (a) means for detecting vehicle travel angle; (b) means for detecting vehicle travel distance; (c) means, coupled to said vehicle travel angle detecting means and said vehicle travel distance detecting means, for calculating vehicle locations on the basis of detected vehicle travel angles and distances; (d) means for storing map information data including branch points; (e) means, coupled to said map information data storing means, for setting a route judge area at each branch point to determine a route along which the vehicle travels at a branch point; (f) means, coupled to said vehicle distance detecting means, said map storing means and said route judge area setting means, for determining the condition of a vehicle passing into the set route judge area when a distance between a current vehicle location and a succeeding branch point becomes shorter than a predetermined value and the condition of a vehicle passing through the set route judge area when a distance between a position at which vehicle passing into the set route judge area is determined and a current vehicle location becomes longer than a predetermined value; (g) means, coupled to said vehicle travel angle detecting means and said route judge area pass determining means, for determining travel route at each branch point by comparing a travel angle detected by said travel angle detecting means with map data stored in said map data storing means when the vehicle has passed through the set route judge area; (h) means, coupled to said vehicle location calculating means and said travel route determining means, for correcting calculated vehicle locations so as to be located along a road on a displayed map, said vehicle location calculating means further correcting a vehicle after-turn location at each branch point by matching a vehicle turn point obtained when said route judge area pass determining means detects that the vehicle has passed through a route judge area to a map branch point within the route judge area; and (i) means, coupled to said correcting means, for displaying a map stored in said map information data storing means and vehicle locations corrected by said correcting means.
The route judge area setting means sets an area pass judge value to detect a route judge area adjustably according to route conditions to an adjacent branch point or increases a route judge area by increasing the area pass judge value when the vehicle travel angle detecting means detects a travel angle beyond a predetermined value.
Further, the route judge area setting means sets an area pass judge value to detect a route judge area by integrating plural area judge values between two adjacent points within a curved road.
Further, vehicle locations are displayed without correction only within the route area judge area.
In summary, to achieve the first object, when the vehicle has passed through a branch point, the current vehicle location is corrected to the map branch point.
To achieve the second object, an area pass judge value for determining that the vehicle has passed through a route judge area is adjustably determined according to adjacent route conditions and increased when vehicle travel angle exceeds a predetermined angle to prevent an error such that travel route change is determined before the vehicle has actually turned a branch point corner.
To achieve the third object, plural area judge values between two adjacent points within a curved road are integrated.
To achieve the fourth object, vehicle travel locations are displayed on the basis of non-corrected vehicle locations within each route judge area.
BRIEF DESCRIPTION OF THE DRAWINGS
The features and advantages of the navigation system using an angular rate sensor according to the present invention will be more clearly appreciated from the following description of the preferred embodiment of the invention taken in conjunction with the accompanying drawings in which like reference symbols designate the same or similar elements or sections throughout the figures thereof and in which:
FIG. 1(A) is a diagram for assistance in explaining display correction of a prior-art navigation system;
FIG. 1(B) is a diagram for assistance in explaining display correction at an intersection of the prior-art navigation system;
FIG. 1(C) is a diagram for assistance in explaining an error produced at a turning corner of the prior-art navigation system;
FIG. 2(A) is a diagram for assistance in explaining a fixed route judge area of the prior-art navigation system;
FIG. 2(B) is a diagram for assistance in explaining an error between an actual curved route and a straight route;
FIG. 2(C) is a diagram for assistance in explaining a cumulative error produced in a curved road;
FIG. 2(D) is a diagram showing an erroneous operation involved in the prior-art navigation system;
FIG. 2(E) is a diagram showing another erroneous operation involved in the prior-art navigation system;
FIG. 3(A) is a diagram for assistance in explaining a non-natural display involved in the prior-art navigation system;
FIG. 3(B) is a diagram for assistance in explaining another non-natural display involved in the prior-art navigation system;
FIG. 4 is a basic block diagram of the navigation system of the present invention;
FIG. 5 is an actual block diagram of the navigation system of the present invention;
FIG. 6 is a diagram for assistance in explaining the correction operation of the navigation system of the present invention;
FIG. 7 is a flowchart for assistance in explaining the operation of the navigation system of the present invention;
FIG. 8 is a flowchart showing a subroutine of block S.sub.4 shown in FIG. 7;
FIG. 9 is a flowchart showing a subroutine of block S.sub.6 shown in FIG. 7;
FIG. 10 is another diagram for assistance in explaining a first feature of the present invention, in which actual vehicle location (x.sub.n, y.sub.n) is corrected to (X.sub.01, Y.sub.01) at a branch point P.sub.1 ;
FIG. 11 is a diagram for assistance in explaining the route judgement operation of the navigation system of the present invention;
FIGS. 12(A), (B) and (C) are diagrams for assistance in explaining a second feature of the present invention, in which the area pass judge value is adjustable;
FIG. 13(A) is a diagram for assistance in explaining a third feature of the present invention, in which an area judge value is determined by adding each area judge value for each straight line within a curved road;
FIG. 13(B) is a diagram for assistance in explaining a method of displaying a vehicle location at a turning corner; and
FIG. 14 is a diagram for assistance in explaining a fourth feature of the present invention, in which non-corrected locations are displayed within a route judge area.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
With reference to the attached drawings, a basic configuration of the navigation system using angular rate sensor will be described hereinbelow in more detail.
FIG. 4 shows a schematic block diagram showing a basic configuration of an embodiment of the system according to the present invention. In FIG. 4, the navigation system comprises travel angle detecting means A for detecting a travel angle (.theta.=.intg.wdt) of an automotive vehicle on the basis of a signal W from an angular rate sensor; travel distance detecting means B for detecting a travel distance of the vehicle; location calculating means C for calculating a current vehicle location on the basis of the signals from the travel angle detecting means and the travel distance detecting means; map memory means D for storing survey map data including various point coordinates of intersections, branches and inflections of roads; route judge area setting means E for setting a route judge area at each branch point to determine a route along which the vehicle travels at a branch point; route judge area pass determining means F for determining that a vehicle passes into a set route judge area when a distance between a current vehicle location and a succeeding branch point becomes shorter than a predetermined value and for determining that a vehicle passes through the set route judge area when a distance between a position at which vehicle passing into the set route judge area is determined and a current vehicle location becomes longer than a predetermined value; travel route determining means G for determining a vehicle travel route by comparing a travel angle detected by the travel angle detecting means with map data stored in the map data storing means when the vehicle has passed through the set route judge area; location correcting means I for correcting the calculated vehicle location on the judged map route; and displaying means for displaying the corrected vehicle location on the map.
FIG. 5 shows a block diagram of the system of the present invention. In the drawing, the system comprises a travel distance sensor 11 for generating a signal indicative of the vehicle distance; an angular rate sensor 12 such as a vibrating gyrosensor for detecting vehicle angular velocity; and a CPU 13 for receiving signals outputted from the travel distance sensor 11 and the angular rate sensor 12. The CPU 13 operates in accordance with programs stored in a ROM 14 to execute various operations by reading various data from the RAM 15 and writing the processed data in the RAM 15. Further, the CPU 13 is connected to a keyboard 16 for entering data, a display unit such as CRT, and a memory 18 for storing survey map information data.
FIG. 6 shows a diagram for assistance in explaining the map correction method of the present invention. A point P(x, y) 1 is first initialized to P.sub.00 (X.sub.00, Y.sub.00). An actual travel route 2 shown by dashed line is calculated by the distance sensor and the angular rate sensor, and compared with map data R.sub.0. As a result, vehicle locations are displayed on a map on a CRT screen using symbols. The broken line 2 is a route detected by the sensors and projected to the map route R for correction and this is not displayed on the CRT map. Data for the displayed map are prepared based on a survey map including intersections or inflections of roads (referred to as points and straight lines). The portion between two points is approximate by a straight line. The map is digitally coordinated for each point and stored in the ROM.
In order to remove errors due to the straight line approximation of the map, a certain range referred to as "route judge area JE" is set up at each point at the rate proportional to the distance between two points P.sub.0 and P.sub.1. In this area JE, judgement of a change in vehicle travel direction and correction of errors are implemented. Within the area judge area, the route or location calculated by the distance sensor and the angular rate sensor is displayed without coordinate correction to the map. However, when the vehicle passes out of the area judge area, the symbol indicating the vehicle location is displayed along the map after correction.
The map data stored in the memory 18 are position data expressed by X-Y coordinates of branch points such as intersections, inflections of roads as shown in FIG. 6 and includes the number of the points and the numbers of other points adjacent thereto.
In more detail, the position data of a route as shown in FIG. 6 are as follows:
______________________________________ FlagPoint No. X Y Adjacent point Nos. (P)______________________________________P.sub.0 X.sub.0 Y.sub.0 P.sub.1, P.sub.4 1P.sub.1 X.sub.1 Y.sub.1 P.sub.0, P.sub.1, P.sub.3 1P.sub.2 X.sub.2 Y.sub.2 P.sub.1 0P.sub.3 X.sub.3 Y.sub.3 P.sub.1 0: : : :: : : :: : : :P.sub.n______________________________________
In the table, the coordinates of the point P.sub.0 are (X.sub.0, Y.sub.0) and the adjacent points thereof are P.sub.1 and P.sub.4. The coordinates of the point P.sub.1 are (X.sub.1, Y.sub.1) and the adjacent points thereof are P.sub.0, P.sub.1 and P.sub.3 and so on.
Further, in this table, information data related to the adjacent point is stored in the form of flag P. For instance, if flag is 1 at P.sub.0, this indicates that there exists a special point to the adjacent point P.sub.1 or P.sub.4. The special point is a place having a very short distance to the adjacent point, so that the ordinary route judgement processing is disabled.
The operation of the system will be explained in accordance with a flowchart shown in FIGS. 7 to 9 by taking an example where a vehicle travels from a point P.sub.00 (X.sub.00, Y.sub.00) to a point P.sub.1 (X.sub.1, Y.sub.1) along a route R.sub.0 connecting two points P.sub.0 (X.sub.0, Y.sub.0) and P.sub.1 (X.sub.1, Y.sub.1) on a map shown in FIG. 6. Further, in FIG. 6, the dashed lines indicate calculated vehicle route (not displayed).
The initial location P.sub.00 (X.sub.00, Y.sub.00) and two points P.sub.0 (X.sub.0, Y.sub.0) and P.sub.1 (X.sub.1, Y.sub.1) along a route R.sub.0 are entered through the keyboard 16 and stored in the RAM 15 for initialization (in step S.sub.1). The entered current position and map data including roads and place names are displayed (in step S.sub.2). In this step S.sub.2, the current vehicle location P(x, y) is corrected on the route R.
A gradient .theta..sub.0 of the route R.sub.0 with respect to a base line L.sub.H (positive in the counterclockwise direction) is calculated on the basis of two points P.sub.0 (X.sub.0, Y.sub.0) and P.sub.1 (X.sub.1, Y.sub.2) as follows:
.theta..sub.0 =tan.sup.-1 .vertline.(Y.sub.0 -Y.sub.1)/(X.sub.0 `X.sub.1).vertline.
In the same way, gradients .theta..sub.2 and .theta..sub.3 with respect to the base line L.sub.H are calculated on the basis of the two adjacent points P.sub.1, P.sub.2, and P.sub.3 (in step S.sub.3).
In the succeeding step, a distance L.sub.n between P.sub.00 and P.sub.1 is calculated as follows (in step S.sub.4):
L.sub.n =.sqroot.(X.sub.1 -X.sub.00).sup.2 +(Y.sub.1 +Y.sub.00).sup.2
Thereafter, an area judge value L.sub.c and an area pass judge value MM are determined in accordance with a flowchart shown in FIG. 8 in order to set a route judge area JE (in step S.sub.4).
Flags P are read from map data (in step S.sub.41) and control determines whether the read flag is 1 (in step S.sub.42). If YES, control sets the succeeding route flag P to 1 (in step S.sub.43) and sets b to 10 m, for instance (in step S.sub.44). On the other hand, if NO in step (S.sub.42), control sets the succeeding route flag P to 0 (in step S.sub.45) and sets b to 20 m, for instance (in step S.sub.46). By doing this, the distance of the route judge area (area pass judge value) can be adjusted according to the succeeding route condition indicated by the flag P.
The standard distance (radius) L.sub.s of the area JE is calculated as L.sub.n x a (in step S.sub.47), where L.sub.n denotes a distance to the branch point P.sub.1 and a denotes 0.1, for instance, if 10% of the distance L.sub.n is determined as the standard distance L.sub.s.
Control checks the number of branch points (routes) (in step S.sub.48). If NO (an inflection of a road), control calculates an integrated standard value L.sub.ss by integrating each standard value L.sub.s (in step S.sub.49) along a curved road. This integrating calculation is continuously made until control determines an intersection in step S.sub.48 and control proceeds to the step S.sub.52.
After step S.sub.49, an area judge value (distance) L.sub.c is set to the standard value L.sub.s (in step S.sub.50) and an area pass judge value MM is set to L.sub.c +b (in step S.sub.51). In step S.sub.51, b is a constant (e.g. 20 m) indicative of distance surplus determined by considering a value L.sub.c to the succeeding point and left or right turn or inflection. However, this value b can be set to 0 m. In the case of a turning corner (inflection), although the succeeding point is decided, it is also possible to use the area judge value L.sub.c and the area pass judge value MM to determine that the vehicle has passed the corner point.
If YES (an intersection) in step S.sub.48, the area judge value L.sub.c is calculated as L.sub.ss +L.sub.s, where L.sub.ss is an integrated standard area judge value at a turning corner point integrated in step S.sub.49 (in step S.sub.52). That is, in this step, the area judge value at an intersection is determined on the basis of a distance between two adjacent intersections, irrespective of the presence or absence of a turning corner point between two intersections.
For instance, in the case of the routes as shown in FIG. 13(A), the area judge value to point P.sub.2 from point P.sub.1 is determined as L.sub.1 x 0.1, and the area judge value to P.sub.6 from point P.sub.3 is determined as
L.sub.2 .times.0.1+L.sub.3 .times.0.1=L.sub.ss
L.sub.4 .times.0.1=L.sub.s
L.sub.ss +L.sub.s =(L.sub.2 +L.sub.3 +L.sub.4).times.0.1
Further, black dots shown in FIG. 13(A) indicate corrected vehicle locations.
Thereafter, the integrated standard value L.sub.ss is set to 0 and the area pass judge value MM is calculated as L.sub.c +b (b: 20 m) (in step S.sub.53). By doing this, it is possible to determine an area judge value at an intersection large enough to cover an error produced at a turning corner point or inflection. Control checks whether the area judge value L.sub.c is larger than the distance L.sub.n between the current location and the succeeding point (in step S.sub.54). If YES, 1 m is subtracted from L.sub.n to obtain a new area judge value L.sub.c (in step S.sub.55). If NO, control skips step S.sub.55 to step S.sub.56.
Control determines whether the area judge value L.sub.c is smaller than c (e.g. 10 m) (in step S.sub.56). If YES, the area judge value L.sub.c is set to c and the area pass judge value MM is set to c+b(10 m+20 m) (in step S.sub.57), proceeding to the step S.sub.5 shown in FIG. 7. In summary, steps 56 and 57 can determine the minimum area judge values L.sub.c and MM. As described above, the route judge area including an area judge value L.sub.c and an area pass judge value MM has been determined under considerations of route conditions to an adjacent point and straight routes within a curved road. Thereafter, control proceeds to step S.sub.5 shown in FIG. 7.
With reference to FIG. 7 again, each data is set (in step S.sub.5) as follows:
.delta.S.sub.n (sampling distance)=0, .delta..theta..sub.n =0, X.sub.n =X.sub.00, Y.sub.n =Y.sub.00, .theta..sub.n =.theta..sub.0
Further, the calculated data .theta..sub.0, .theta..sub.2, .theta..sub.3, L.sub.n, .delta.S.sub.n =0, .delta..theta..sub.n =0, X.sub.n =X.sub.00, Y.sub.n =Y.sub.00 are all stored in the RAM 15 for sampling calculation of each vehicle travel distance .delta.S.sub.n and each vehicle travel angle .delta..theta..sub.n. (in step S.sub.5).
The next sampling calculation (step S.sub.6) can be implemented in accordance with a subroutine as shown in FIG. 9.
Each travel distance signal S.sub.se from the travel distance sensor 11 and each travel angle signal .theta..sub.se (.intg.wdt) from the angular rate sensor 12 are both inputted (in step S.sub.61).
Further, the obtained travel distance S.sub.se and the travel angle .theta..sub.se are integrated to obtain .delta.S.sub.n =.delta.S.sub.se and .delta..theta..sub.n =.delta..theta..sub.se (in step S.sub.62), and then CPU checks whether a predetermined time (e.g. 1 sec) has elapsed (in step S.sub.63). If YES, the integrated angle value .delta..theta..sub.n is added to the current angle .theta..sub.n-1 stored in the RAM 15 to obtain an updated angle value .theta..sub.n. The obtained value .theta..sub.n is stored in the RAM 15. On the basis of the current angle value .theta..sub.n, the current corrected location P.sub.n (X.sub.n, Y.sub.n) can be obtained as follows (in step S.sub.64):
X.sub.n =X.sub.n-1 +.delta.S.sub.n cos .theta..sub.n
Y.sub.n =Y.sub.n-1 +.delta.S.sub.n sin .theta..sub.n
where P.sub.n-1 (X.sub.n-1, Y.sub.n-1) are coordinates stored in the RAM 15 as the preceding location such as P.sub.00 (X.sub.00, Y.sub.00). By the above correction, it is possible to correctly track the vehicle travel trace along the road on the map.
In the same way, on the basis of the calculated angle value .theta..sub.1, the current non-corrected (sensor-detected) location P(x.sub.n, y.sub.n) can be obtained as follows (in step S.sub.64):
x.sub.n =x.sub.n-1 +.delta.S.sub.n cos .theta..sub.n
y.sub.n =y.sub.n-1 +S.sub.n sin .theta..sub.n
By the above calculation, it is possible to display the current vehicle location as it is without correction on the map.
In the above-mentioned tracking on the map, the tracking display moves .delta.S.sub.n by .delta.S.sub.n from a designated point P.sub.00 along a route R.sub.0 connecting P.sub.00 and P.sub.1 (in step S.sub.64). Thereafter, the integrated travel distance .delta.S.sub.n and the integrated travel angle .delta..theta..sub.n are reset when the vehicle reaches a route judge area (in step S.sub.65).
Control checks whether it is necessary to change the map now displayed on the basis of the current location coordinates P.sub.n (X.sub.n, Y.sub.n) and/or (x.sub.n, y.sub.n) (in step S.sub.66). If YES, the map is changed (in step S.sub.67). If NO, control skips step S.sub.67 to step S.sub.68. Control checks whether flag is 1 (in step S.sub.68). This flag D determines coordinates of the current location to be displayed. If YES (D=1 in step S.sub.68), the current location is displayed by the non-corrected coordinates (x.sub.1, y.sub.1) based upon the sensors. If NO (D=0 in step S.sub.68), the current location is displayed by the corrected coordinates (X.sub.1, Y.sub.1) based upon the coorecting calculation. That is, the displayed coordinates are determined by this flag D. Thereafter, control returns to step S.sub.7 shown in FIG. 7.
Returning to FIG. 7, CPU checks whether the number of routes selectable at the next point P.sub.1 (i.e. the number of branch points) is more than 1 (in step S.sub.7). If NO, flag B is set to 1 (in step S.sub.8) and proceeds to step S.sub.9. If YES, CPU directly proceeds to step S.sub.9. Control checks whether the integrated travel distance .delta.S.sub.n is zero (in step S.sub.9). If YES, since this indicates that the vehicle is kept stopped, control returns to step S.sub.6. If NO, since this indicates that the vehicle is moving, control proceeds to the succeeding step. The current distance L.sub.n between P.sub.00 and P.sub.1 is set as L.sub.n =L.sub.n-1 -.delta.S.sub.n (in step S.sub.10). That is, in FIG. 6, a travel distance .delta.S.sub.n is subtracted from the distance L.sub.n between two points P.sub.00 and P.sub.1 to obtain an updated distance L.sub.n+1 to the point P.sub.1. Control checks whether the updated distance L.sub.n becomes less than an area judging valve L.sub.c (e.g. 20 m) indicative of the range of the route judge area JE (in step S.sub.11). If NO, control returns to the step S.sub.6. If YES, control proceeds to the succeeding step because this indicates that the vehicle approaches a branch point. Therefore, the L.sub.m (distance between the current point to the branch point P.sub.1) is set to zero and the flag D is set to 1 in order to display the current location on the basis of the non-corrected location (x.sub.n, y.sub.n) (in step S.sub.12). Control proceeds to the step S.sub.13 (the same as step S.sub.6 shown in FIG. 9). In this step S.sub.13, the sampling calculation starts.
In the succeeding step, control sets L.sub.m-1 +.delta.S.sub.n =L.sub.m (in step S.sub.14). That is, in FIG. 6, a travel distance .delta.S.sub.n is integrated to obtain a distance away from a point P.sub.a where the vehicle enters the route judge area JE. Thereafter, control checks whether L.sub.m exceeds an area pass judge value MM (e.g. 30 m) (in step S.sub.15). If NO, control returns to the step S.sub.13 to continuously obtain travel distance .delta.S.sub.n. If YES, since this indicates that a distance L.sub.m away from a position P.sub.a where the vehicle enters into the route judge area JE exceeds an area pass judge valve MM (e.g. 30 m) at the branch point P.sub.1, control determines that the vehicle has passed through the branch point P.sub.1.
After control determines that the vehicle has passed through the point P.sub.1 in step S.sub.15, control checks whether the angle change .delta..theta..sub.n is 20 degrees/sec or more or not (in step S.sub.16). If .delta..theta..sub.n is more than 2 deg/sec, control determines that the vehicle is not yet turned completely, proceeding to the step S.sub.17. Control checks the route condition of the succeeding point on the basis of the flag P (indicative of a special point at the next route set in step S.sub.43 or S.sub.45 (in step S.sub.17). If P=1, since this indicates that there exists a special point (e.g. short distance) in the succeeding route and therefore it is impossible to provide an extension for the area pass judge value MM, control proceeds to step 18. If P=0, since this indicates that there exists no special point in the succeeding route, control proceeds to step S.sub.18 to provide an extension. Here, a value b(e.g. 30 m) is added to L.sub.c to obtain MM=L.sub.c +b (in step S.sub.18). By doing this, the area pass judge value MM can be extended.
Control checks again whether the L.sub.m (a distance away from a point P.sub.a where the vehicle enters into the area JE) exceeds MM (area pass judge value) (in step S.sub.19).
If L.sub.m >MM control proceeds to step S.sub.20. If L.sub.m <MM, control returns to step S.sub.13 to continue integrating calculation of distance and angle for determining the route area.
Control sets flag D to 0 (in step S.sub.20) to display the current location on the basis of coordinates (X.sub.n, Y.sub.n) of corrected data, because the location passed out of the area JE.
Control checks whether the flag B is 1 (in step S.sub.21). If NO (B.noteq.1), since this indicates that there exists plural branch points, control proceeds to the succeeding step to determine a route along which the vehicle turns (in step S.sub.22). For doing this, the current vehicle travel angle .theta..sub.n is compared with the angle .theta..sub.2 (corresponding to the forward point P.sub.2) and the angle .theta..sub.3 (corresponding to the forward point P.sub.3) both previously obtained in step S.sub.3. When the vehicle angle .theta..sub.n is close to the angle .theta..sub.2, for instance, it is determined that the vehicle turns along the road R.sub.2 (in step S.sub.22). On the other hand, if YES in step S.sub.21 (B=1), since this indicates that the number of branches is one and therefore it is unnecessary to determine the route (in step S.sub.22), and control directly proceeds to the succeeding step S.sub.23.
Control reinitializes the current vehicle location and determines an updated initial location P.sub.01 (X.sub.01, Y.sub.01) (in step S.sub.23), which is the first feature of the present invention. The updated initial location P.sub.01 is displayed (in step S.sub.24). Thereafter, control returns to step S.sub.3.
As already explained with reference to FIGS. 1(B) and (C), in the prior-art system, the vehicle location after the vehicle has passed through a branch point P.sub.1 (X.sub.1, Y.sub.1) as shown by dashed lines in FIG. 6 is corrected on the basis of the point P.sub.n (x.sub.n, y.sub.n), so that there inevitably exists an error e. To eliminate this distance error e, the distance S.sub.1 between P.sub.c (X.sub.c, Y.sub.c) (actual turn point) and P.sub.n (X.sub.n, Y.sub.n) (corrected current vehicle location) is calculated, and then the initialized vehicle location P.sub.01 (X.sub.01, Y.sub.01) can be calculated as
S.sub.1 =.sqroot.(X.sub.c -X.sub.n).sup.2 +(Y.sub.c +Y.sub.n).sup.2
X.sub.01 =X.sub.1 +S.sub.1 cos .theta..sub.2
Y.sub.01 =Y.sub.1 +S.sub.1 sin .theta..sub.2
The above initialized location P.sub.01 (X.sub.01, Y.sub.01) is determined as a new location P.sub.00 (X.sub.00, Y.sub.00) for the succeeding tracking operation.
On the other hand, when the number of branch point is 1, since this indicates a single turning point (inflection) and therefore the succeeding route is known, a distance L between the branch point and the non-corrected location P.sub.n (x.sub.n, y.sub.n) determined when the vehicle passes through the route judge area JE is displayed as the current location on the route along which the vehicle travels, as shown in FIG. 13(B). In other words, at the turning corner, the current location is displayed on the new route on the basis of the actual non-corrected travel distance.
Thereafter, control returns from the step S.sub.24 to the step S.sub.3 to repeat the similar tracking operation. In this case, the point P.sub.1 is regarded as the point P.sub.0 ; the point P.sub.2 is regarded as the point P.sub.1 ; and the route R.sub.0 is regarded as the route R.sub.2 in the succeeding tracking operation.
With reference to FIG. 10, the method of calculating the correcting intersection P.sub.c (X.sub.c, Y.sub.c) will be explained hereinbelow, which is the first feature of the present invention.
The route R.sub.0 is expressed as a straight line as y=bx+d. In this equation, b is known as tan .theta.. On the other hand, d can be obtained as follows:
If the point P.sub.0 (X.sub.0, Y.sub.0) is substituted into y=bx+d,
Y.sub.0 =bX.sub.0 +d or d=Y.sub.0 -bX.sub.0
If this expression is substituted into y,
Y=bx +(Y.sub.0 -bX.sub.0) (1)
On the other hand, a straight line R.sub.c passing through a turn point P.sub.c (X.sub.c, Y.sub.c) (whose turn angle has been determined (in step 16) as a gradient (.theta..sub.n) is expressed as a straight line as Y=ax+c. In this equation, a is known as tan .theta..sub.n. On the other hand, c can be obtained as follows:
If the point P.sub.n (X.sub.n, Y.sub.n) is substituted into y=ax+c,
Y.sub.n =aX.sub.n +c or c=Y.sub.n -aX.sub.n
If this expression is substituted into y,
Y=ax +(Y.sub.n -aX.sub.n) (2)
On the basis of the above two equations (1) and (2), the correcting point coordinates P.sub.c (X.sub.c, Y.sub.c) can be obtained as follows:
Y=ax +(Y.sub.n -aY.sub.n)=bx +(Y.sub.0 -bX.sub.0)
.thrfore.(a-b)x=(Y.sub.0 -Y.sub.n)-(bX.sub.0 -aX.sub.n)
x=1/(a-b){(Y.sub.0 -Y.sub.n)-(bX.sub.0 -aX.sub.n)} (3)
By substituting the above expression (3) into (1),
Y=b/(a-b){(Y.sub.0 -Y.sub.n)-(bX.sub.0 -aX.sub.n)}+(Y.sub.0 -bX.sub.0)
In the above equation, when .theta.and .theta..sub.n are 90 degrees (.+-.1.5 degrees) or 270 degrees (.+-.1.5 degrees), since tan .theta. is infinite,
X.sub.c =X.sub.n
Y.sub.c =aX.sub.n +(Y.sub.n -aX.sub.n) or
Sine tan .theta..sub.n is infinite,
X.sub.c =X.sub.n
Y.sub.c =bX.sub.n +(Y.sub.0 -bX.sub.0)
Further, when .theta..sub.n is 10 degrees or less, no correction is made, and the current actual vehicle location can be displayed on the route.
As described above, in the first feature of the present invention, since the turn point along a correcting route P.sub.c (vehicle tracking route is turned after the vehicle has passed through a branch point by a predetermined distance) is corrected so as to match the corresponding branch point P.sub.1 on the map, it is possible to eliminate distance error e produced at branch point P.sub.1 without producing cumulative errors.
In the embodiment as described above, when the distance L.sub.n between the current location and the branch point becomes less than a predetermined distance L.sub.c (e.g. 20 m) (in step S.sub.11), it is determined that the vehicle approaches a branch point or comes into a route judge area to set the distance L.sub.m to zero (in step S.sub.12). Further, when the distance L.sub.m between the branch point and the current location becomes more than a predetermined distance MM (e.g. 30 m) (in step S.sub.15), it is determined that the vehicle has passed through a branch point or goes out of a route judge area to check a change in vehicle travel angle (in step S.sub.16).
However, if the distance L.sub.c to the branch point P and the distance MM from the end of the route judge area are fixed and when two adjacent branch points P and P.sub.1 is short, there exists a problem in that it is impossible to determine that the vehicle has passed through the branch point P because the vehicle passes through the next branch point P.sub.1, as shown in FIG. 2(A). Further, when the route judge area JE (L.sub.1 +L.sub.2) is fixed, it is impossible to determine a sufficient route judge distance for the succeeding point P.sub.1.
To overcome this problem, the system of the present invention comprises route judge area setting means E for setting a route judge area at each branch point to determine a route along which the vehicle travels from the branch point in such a way that an area judge value (L.sub.c) of the route judge area can be set adjustably according to route condition to an adjacent branch point, as explained with reference to steps S.sub.41 to S.sub.47.
Further, the route judge area setting means E increases a route judge area by increasing the area pass judge value (MM) when the vehicle travel angle detecting means detects a travel angle beyond a predetermined value, as explained with reference to steps S.sub.16 to S.sub.19.
The above route judge area setting means E changes the area judge value on the basis of map data to the adjacent branch point. Further, the above area judge setting means E increases the area pass judge value according to the vehicle travel angle detected by the travel angle detecting means.
That is, since the route judge area can be adjusted according to the conditions to the adjacent branch point, it is possible to reliably determine a route at each branch point. Further, since the area is determined large when the vehicle angle changes, it is possible to prevent an error such that the route is determined before the vehicle turns completely at a branch point.
The above operation will be explained on the basis of practical values. In the flowchart, constants are determined as a=0.1, b=20 m, and c=20 m. In FIG. 11, the assumption is made that a route judgement operation is implemented at point P.sub.0 on a route between P.sub.0 and P.sub.1 and coordinates of the current location is corrected at point x. Under these conditions, if a distance between the current location x and the succeeding point P.sub.1 is 100 m, the flowchart shown in FIG. 8 checks the route conditions adjacent to the point P.sub.1. When a short distance exists among the adjacent points P.sub.2, P.sub.3 or P.sub.4, a flag P=1 is set and stored. Therefore, control reads this flag in step S.sub.41, and therefore control determines P=1 in step S.sub.43 and b is reduced to 10 m in step S.sub.44. This indicates that it is impossible to increase the route judgement area. That is, in this case, an extension of the area is prohibited. In contrast with this, when the flag P is 0, b=20 m can be set and an extension of the area is enabled.
The area judge values in the above setting operation are:
L.sub.cc =0, L.sub.s =100.times.0.1=10 m
L.sub.c =10 m<20 m=c
L.sub.c <c
L.sub.c =c=20, MM=c +b
Therefore,
if flag P=1, MM=20+10=30 m
if flag P=0, MM=20+20=40 m
Further, if flag P=0, an extension of MM=20+30=50 can be determined in the case of the step S.sub.18 of FIG. 7.
In summary, when the succeeding point P.sub.2 is normally distant from the current point P.sub.0, the normal area pass judge value MM can be determined as shown in FIG. 12(A) When the actual location P.sub.1 ' is dislocated from the point P.sub.1 on the map, the value MM is increased (extension) as shown in FIG. 12(B). When the succeeding point P.sub.2 is close to the current point P.sub.0, the value MM is decreased (reduction) as shown in FIG. 12(C) or at least the extension is prohibited.
In the system according to the present invention, when the vehicle enters into an route judge area JE in step S.sub.11 (D=1) in FIG. 7, the actual non-corrected location a' (white dot) is corrected onto the map as shown by a (black dot) in FIG. 14. Thereafter, the non-corrected actual vehicle locations are displayed within the route judge area JE, so that the vehicle moves smoothly along the branch point.
As described above, according to the first feature of the present invention, since the vehicle travel location at each branch point is corrected by matching a turning point on a correcting route to a branch point on a map route, it is possible to minimize error at each branch point.
According to the second feature of the present invention, since route information to adjacent branch points are stored and the area judge value can be optimized according to the route condition, it is possible to reliably judge the vehicle route change at each branch point. Further, when vehicle travel angle changes beyond a predetermined value, since the area pass judge value can be increased, it is possible to further improve the reliability of vehicle route change judgement operation.
Further, the route judge value for determining whether the vehicle enters a route judge area is increased or decreased according to a distance between the current vehicle location and the succeeding branch point, it is possible to reliably determine a route judge area even if there exists an error between the actual point and the map point due to distance error or straight approximation on a curved road. In particular, when the vehicle is running along a curved road, since area judge values for each straight line route are added, it is possible to determine an accurate route judge area long a curved road.
Further, when the vehicle enters a route judge area, since the vehicle locations are displayed by the actual non-corrected locations detected by the travel distance and angle sensors, it is possible to display the vehicle motion at branch points in a natural fashion.
Claims
- 1. A navigation system for displaying travel locations of a vehicle on a displayed map, comprising:
- (a) means for detecting vehicle travel angle;
- (b) means for detecting vehicle travel distance;
- (c) means, coupled to said vehicle travel angle detecting means and said vehicle travel distance detecting means, for calculating vehicle locations on the basis of the detected vehicle travel angles and distances;
- (d) means for storing map information data including branch points;
- (e) means, coupled to said map information data storing means, for setting a route judge area at each branch point to determine a route along which the vehicle travels from a branch point;
- (f) means, coupled to said vehicle distance detecting means, said map storing means and said route judge area setting means, for determining a condition of a vehicle passing into the set route judge area when a distance between a current vehicle location and a succeeding branch point becomes shorter than a first predetermined distance and a condition of a vehicle passing through the set route judge area when a distance between a position, at which the vehicle enters the set route judge area, and a current vehicle location becomes longer than a second predetermined distance;
- (g) means, coupled to said vehicle travel angle detecting means and said route judge area pass determining means, for determining a travel route at each branch point by comparing a travel angle detected by said travel angle detecting means with map data stored in said map data storing means when the vehicle has passed through the set route judge area;
- (h) means, coupled to said vehicle location calculating means and said travel route determining means, for correcting said calculated vehicle locations so as to be located along a road on a displayed map in accordance with predetermined expressions, said vehicle location calculating means further correcting a vehicle after-turn location at each branch point by matching a vehicle turn point obtained when said route judge area pass determining means detects that the vehicle has passed through said route judge area with a map branch point within the route judge area; and
- (i) means, coupled to said correcting means, said map data storing means, said route judge area setting means, and said route judge area pass determining means, for displaying a map stored in said map information data storing means and vehicle locations calculated by said calculating means and corrected by said location correcting means.
- 2. The navigation system as set forth in claim 1, wherein the vehicle turn point (P.sub.c) is obtained by calculating a point of intersection of a line (R.sub.c) passing a vehicle location (X.sub.n, Y.sub.n), obtained when said route judge area pass determining means detects that the vehicle has passed through the route judge area (JE), with a gradient (.theta..sub.n) detected by said vehicle travel angle detecting means and a stored line (R.sub.0) along which the vehicle has traveled toward the branch points.
- 3. The navigation system as set forth in claim 1, wherein said route judge area setting means (E) sets an area judge value (L.sub.c) of said route judge area adjustably according to a route distance to an adjacent branch point stored in said map data storing means.
- 4. The navigation system as set forth in claim 1, wherein said route judge area setting means (E) increases said route judge area by increasing an area pass judge value (MM) when said vehicle travel angle detecting means detects a travel angle beyond a predetermined angle.
- 5. The navigation system as set forth in claim 1, wherein when the vehicle travels along a curved road, each area judge value (L.sub.s) for each divided straight route within the curved road is added to obtain an integrated area judge value (L.sub.c) at the proceeding branch point.
- 6. The navigation system as set forth in claim 1, wherein said vehicle location displaying means displays vehicle locations on the basis of corrected vehicle location data (X.sub.n, Y.sub.n) projected on a map road when the vehicle is not traveling in the route judge area and on the basis of non-corrected vehicle location data (x.sub.n, y.sub.n) when the vehicle is traveling in the route judge area.
- 7. A method of displaying travel locations of a vehicle along a displayed map, which comprises the following steps of:
- (a) detecting vehicle travel angles;
- (b) detecting vehicle travel distances;
- (c) calculating vehicle locations on the basis of the detected vehicle travel angles and distances;
- (d) storing map information data including branch points;
- (e) setting a route judge area at each branch point to determine a route along which the vehicle travels from a branch point;
- (f) determining a condition of a vehicle passing into the set route judge area on the basis of a distance between a current vehicle location and a succeeding branch point and a condition of a vehicle passing through the set route judge area on the basis of a travel distance from a position at which the vehicle enters the route judge area and a current vehicle location;
- (g) determining a travel route by comparing a detected travel angle with the stored map data when the vehicle has passed through the set route judge area;
- (h) correcting the calculated vehicle locations so as to be located along a road on a displayed map in accordance with predetermined expressions;
- (i) correcting a vehicle location at each branch point by matching a vehicle turn point obtained when the vehicle has passed through said route judge area with a map branch point within the route judge area; and
- (j) displaying a stored map and the corrected vehicle locations corrected in steps (h) and (i).
- 8. The method of displaying travel locations of a vehicle as set forth in claim 7, wherein a vehicle after-turn location is corrected by calculating a point of intersection of a line (R.sub.c) passing a vehicle location (X.sub.n, Y.sub.n) when the vehicle has passed through the route judge area (JE) with a gradient (.theta..sub.n) and a stored line (R.sub.0) along which the vehicle has traveled toward the branch point.
- 9. The method of displaying travel locations of a vehicle as set forth in claim 7, wherein an area judge value (L.sub.c) of said route judge area is set adjustably according to route distances to a stored adjacent branch point.
- 10. The method of displaying travel locations of a vehicle as set forth in claim 7, wherein when a travel angle beyond a predetermined value is detected, an area pass judge value (MM) of the route judge area is increased.
- 11. The method of displaying travel locations of a vehicle as set forth in claim 7, wherein when the vehicle travels along a curved road, each area judge value (L.sub.s) for each divided straight route within the curved road is added to obtain an integrated area judge value (L.sub.c) at the proceeding branch point.
- 12. The method of displaying travel locations of a vehicle as set forth in claim 7, wherein when the vehicle is traveling out of an route judge area, corrected vehicle locations are displayed along a map road; and when the vehicle is traveling in said route judge area, non-corrected vehicle locations are displayed on the map.
Priority Claims (3)
Number |
Date |
Country |
Kind |
62-27279 |
Feb 1987 |
JPX |
|
62-27280 |
Feb 1987 |
JPX |
|
62-27281 |
Feb 1987 |
JPX |
|
US Referenced Citations (5)