Navigation apparatus based on present position calculating system

Abstract: A navigation apparatus having road system data (6) which represents information on connections and coordinates of intersections and roads between intersections, a travel distance sensor (2), steering angle sensor (3), a present position calculating module (4) for calculating the present position with a unit distance between an intersection and the terminal intersection of a going-out road selected at the former intersection. The apparatus is further provided with a module (15 ) for generating data on the direction of traveling to a destination point at respective intersections, and a guidance outputting module (5). Traveling direction data is provided in response to inputting of the destination point, the present position is determined by selecting a going-out load with the present position calculating module with respect to each intersection, and guidance data on the traveling direction at the terminal intersection of the present road is thereafter output. When a present position is input, the present position is calculated from data on the corresponding road, the travel distance, and the steering angle. Similarly, at the terminal intersection of this road, another road extending in the traveling direction is selected from the road system data. The present position is also calculated with respect to this road.

Description: This invention relates to a navigation apparatus for guiding a driver to his destination by selecting a course leading to an input destination place while calculating the present position at every intersection on the way to the destination. Navigation apparatus are known as an apparatus used to guide a driver who is a stranger in a certain region to his destination in this region by selecting a suitable course leading thereto. Apparatus of this kind are now developed eagerly. In a conventional navigation apparatus, a course along which a driver will be led to his destination is set on the basis of a starting point and a destination point input before the driver starts traveling. The driver navigates along the course thereby set. There are various methods for designating the course during navigation, such as one in which the course is displayed on a CRT screen while being superposed on a map displayed on the same screen, one in which numerals or a graph indicating distance to an intersection at which the dnver should turn the vehicle and pictures showing features of the intersection are displayed as information on this intersection, and one in which a voice output is utilized as auxiliary means. Conventional navigation apparatus, however, are designed to set a course from a starting point to a destination point and guide the driver along the course thereby set. If the driver fails to keep the vehicle on the desired course by making an error in identifying an intersection, he cannot continue traveling in accordance with the guidance provided by the navigation apparatus unless he returns the vehicle to the course previously set or sets a new course by inputting the present position as a starting point. In this event, it is very troublesome for the driver to return to the course previously set or to set the present position as a starting point to determine a new course. That is, needless to say, the driver is unfamiliar with road circumstances of the particular region in which he is lost and, for this reason, he needs guidance. In this case it is difficult for him even to know where his present position is although he knows the starting and destination points. Whether or not the vehicle has passed over the desired intersection by traveling along the guidance course is determined under the condition that the distance through which the vehicle has traveled and the turning of the vehicle to the left or right are detected by a distance sensor and steering sensor. In practice, there is a problem of accumulation of errors in the detection which may cause errors in the driver's decision. That is, since the distance through which the vehicle has travelled and turning to the left and right are detected on the basis of the setting of a course from the starting point to the destination point, distance errors are accumulated to an extent such that they cannot be corrected. There is also known, see DE-A-36 08 658 a navigation apparatus having a present vehicle position locating system, which comprises storage means for storing road system data including information about coordinates of intersections and roads between said intersections, means for detecting travel distance, means for detecting vehicle orientation, output means for outputting guidance information to a driver of said vehicle, navigation means including turning point detection means for detecting turning of a vehicle at an intersection and present position detecting means for determining a present position of a vehicle based upon said detected turning point and detected travel distance, and means for providing guidance information to said output means depending upon the determined present position. In such known apparatus the route to be travelled is input as a predetermined series of guidance, or turning points, and the apparatus is adapted to coordinate the detected turning points of the vehicle with corresponding guidance points, in order to update the present position of the vehicle and thus avoid accumulated distance errors. Such an arrangement includes means enabling the navigation apparatus to recognise the arrival of the vehicle at, for example, a particular intersection and to confirm the correct course of the vehicle by relating a change in orientation of the vehicle to the predetermined guidance route at the intersection. However, since the apparatus is adapted to provide guidance over a predetermined route that is selected in advance of the guidance operation, the navigation apparatus cannot provide help to a driver who may become lost by making a wrong turning at an intersection and leaving the guidance route. It is only possible for the driver to be presented with an error message showing that he is off course. Furthermore, in order to solve direction-finding problems in road traffic, Blaupunkt has developed a vehicle-independent direction-finding and navigation system : EVA, the electronic guide for motorists (See NTZ, Band 36 (1983) Heft 4, Seiten 214-223, as well as Bosch Techn. Berichte 8 (1986/-) 1/2, Seiten 7-14 and Funkschau 4/1985, Seiten 33-36). Navigation and direction-finding by the dead-reckoning method as well as route-finding by means of the graph theory are based on the digital representation of the road network, which is carried in the vehicle as a data base. It is an object of the present invention to provide a navigation apparatus that is able to provide guidance to a given destination, even if the driver may become diverted from a preferred original course, so that the vehicle becomes located upon a road that was not included in the original course. In accordance with the present invention this object is achieved by the features of Claim 1. Further preferred features and advantages of the invention will become apparent from the subordinate claims and from the following description. The invention is illustrated by way of example in the accompanying drawings in which: Fig. 1 is a diagram of the construction of a navigation apparatus with a present position calculating system which represents a first embodiment of the present invention; Fig. 2 is a flow diagram of the processing operations the navigation apparatus with with the present position. calculating system shown in Fig. 1; Figs. 3 are diagrams of examples of data structures of data on a road system and intersections, data on roads and series of nodes; Fig. 4 is a diagram of of an example of a menu display for inputting the destination point; Figs. 5 are diagrams of an example of course search output; Fig. 6 is a diagram of an example of guidance output; Figs. 7 are a diagram and a flow chart of a processing routine for present point inputting; Fig. 8 is a flow chart of a processing routine for present position tracking; Fig. 9 is a flow chart of a processing routine for initial position setting; Fig. 10 is a flow chart of a processing routine for sensor detection; Figs. 11 are a flow chart and a diagram of a processing routine for remaining distance calculation; Fig. 12 is a diagram of calculation of the orientation and the locus of a vehicle; Fig. 13 is a flow chart of a processing routine for turning point detection; Fig. 14 is a flow chart of a processing routine for road selection; Fig. 15 is a flow chart of a processing routine for distance error correction; Figs. 16 are diagrams of a method of distance error processing; Fig. 17 is a flow chart of a processing routine for turning position calculation; Figs. 18 are diagrams of a processing information relating to road selection; Fig. 19 is a flow chart of a processing routine for calculation of the vehicle turning angle; Fig. 20 is a flow chart of a processing routine for reading roads leading out of an intersection; Fig. 21 is a flow chart of a processing routine for calculation of connecting road bending angle; Fig. 22 is a diagram of a method of obtaining the connecting road bending angle; Fig. 23 is a flow chart of a processing routine for present position tacking in a navigation apparatus with a present position calculating system which represents a second embodiment of the present invention; Figs. 24 are diagrams of turning point detection; Figs. 25 are diagrams of processing relating to the comparison between the intersection entering orientation and the bending angle; Fig. 26 is a flow chart of a processing routine corresponding to the processing of Fig. 25; Fig. 27 is a flow chart of a processing routine for reading roads leading into an intersection; Figs. 28 are diagrams of present position correction; Fig. 29 is a flow chart of a processing routine corresponding to the processing of Fig. 28; Fig 30 is a diagram of an example of a modification of the present invention; Fig. 31 is a diagram of an example of a course set by course searching; and Fig. 32 is a flow chart of a schematic procedure of navigation processing. An embodiment of the present invention will be described with reference to the accompanying drawings. Referring to Fig. 1, an input unit 1 is constituted by an input means such as a hard key cluster or a means for enabling touch-inputting from the surface of a display screen. The input unit 1 is used to input a destination point, a present position, a starting command and so on. A distance sensor 2 is adapted to detect a distance through which the vehicle has traveled (hereinafter referred to as "travel distance".) A steering angle sensor 3 is adapted to detect the steering angle set by the operation of steering the vehicle. An output unit 5 is constituted by a display, a voice outputting device and so on and is used to display a menu necessary for destination input or present position input, or output course-guidance information. Road system data 6 comprises data representing information on intersections, data on roads which connect intersections, and data on series of nodes which represent roads. Navigation data 7 comprises data necessary for navigation including items of data representing course-guidance information and information on a set course. Data on navigation generated by the navigation processing unit 4 is stored as navigation data 7. A flag table 8 which contains flags required during navigation is accessed by the navigation processor 4 on the basis of the state of processing and is updated as desired. The navigation processing unit 4 comprises a microprocessor which accesses the road system data 6, the navigation data 7 and the flag table 8 and processes data or information input from the input unit 1 and detection signals supplied from the distance sensor 2 and the steering angle sensor 3. The navigation processing unit 4 has an input data processing module 11 for analyzing and processing data or information input from the input unit 1, a distance data processing module 12 for processing detection signals supplied from the distance sensor 2, and a steering angle data processing module 13 for processing detection signals supplied from the steering angle sensor 3, and other below-described processing modules for performing various kinds of processing necessary for navigation on the basis of data or information supplied from the above processing modules. A processing control module 14 is adapted to perform overall control processing for the navigation processing unit 4 on the basis of instruction information supplied from the input unit 1. The processing control module 14 controls a course searching module 15, a present position input module 16 and a present position tracking module 17 by referring to the flag table 8. The course searching module 15 searches an optimum course forguiding the driver to his destination while accessing the road system data 6, when it is supplied with the destination point from the input unit 1. The course searching module 15 sets directions of optimum travelling to the destination point with respect to all intersections listed in the road system data 6. Items of data obtained by searching are stored as navigation data 7. That is, at an intersection, a road on which the driver should direct the vehicle is selected in accordance with a travelling direction to his desired destination set with respect to this intersection and, at the next destination of this road, another road on which the driver should run the vehide next is selected in accordance with a travelling direction set to his desired destination in the same manner. This operation is repeated so as to optimize the course along which the driver is led to his destination. The reason for the use of 'optimize' rather than 'minimize the length of' in this sentence resides in the fact that the course searching is intended to select a course which is shortest when calculated in terms of the time taken for the vehicle to travel through the course under certain conditions including the widths of roads, the number of intersection, the traffic volume and other travelling conditions on the basis of suitable weighing of these factors even if the optimized course is not shortest in terms of absolute distance. When the present position input module 16 is supplied with the present position from the input unit 1, it recognises the present position from the road system data 6 and the navigation data 7, draws figures or characters which represent the configuration and orientation of the corresponding intersection, landmarks, the name of the intersection, the road extending in the travelling direction and so forth, and displays them on the screen of the output unit 5 while setting data necessary for navigation. The present position input module 16 then sets required flags in response to the starting input so as to start present position tracking. The present position tracking module 17 is started when it is supplied with the present position after the course searching has been performed and after the navigation data has been set. The present position tracking module 17 detects the corresponding intersection on the basis of signals supplied from the distance sensor 2 and the steering angle sensor 3, the navigation data 7 and the road system data 6 and repeats this present position recognition processing at every intersection, thereby tracking the present position. The present position tracking module 17 sets states of tracking during the processing as flags in the flag table 8 as desired, and determines proceedings to respective processing steps by referring to these flags. Correspondingly, the present position tracking module 17 is provided with various sub-modules: an initial position setting module 18, a sensor detection module 19, a remaining distance calculating module 20, a turning point detecting module 21, a road selecting module 22, and a distance error correcting module 23. The remaining distance calculating module 20 is adapted to calculate the remaining distance to an intersection and performs processing of recognising the intersection when the remaining distance to the intersection reaches a predetermined value, thereby enabling the present position to be detected at this intersection. The turning point detecting module 21 is adapted to perform processing of recognising the intersection by detecting a turning start point and a turning completion point within an error range for the intersection so as to detect the position of a turning point corresponding to the position of the intersection. The road selecting module 22 is adapted to detect a road actually selected by the driverfor directing the vehicle through the intersection irrespective of whether or not the road which has been selected by the driver extends in the travelling direction corresponds to the set optimum course. Depending upon the result of this detection, the guidance in the travelling direction to the desired destination is performed at the terminal intersection of the selected road. The distance error correcting module 23 is adapted to correct a distance error on the basis of the position of the detected turning point and a selected road to the destination, thereby determining the present position on the selected road to the destination. That is, in this case, the remaining distance to the terminal intersection of the present road is obtained. Even if the driver fails to drive the vehicle onto the selected road to the destination in accordance with the guidance at an intersection after the guidance for the terminal intersection of this selected road to the destination has been performed by detecting the present position at the intersection and recognising the selected road in the above-described manner, the driver can be guided along the road actually selected and can continue navigation. Namely, the guidance in the travelling direction at each intersection can be considered as only a suggested guidance, and the present invention is designed to enable the navigation to be continued even if the driver does not select the road in accordance with the guidance as the road on which he will direct the vehicle. Procedures of various kinds of processing performed by the navigation apparatus based on the present position calculating system in accordance with the present invention will be described below in detail. Examples of the structure of data prepared in the navigation apparatus of the present invention will be described prior to the description of the processing procedures. If there is a road system having intersections I to VII and roads 1 ○ to as shown in Fig. 3(a), intersection data, road data and the node data have data structures, such as those shown in Fig. 3(b), Fig. 3(c) and Fig. 3(d), respectively. The intersection data contains groups of data items, each at least comprising the smallest of the road numbers indicating roads having their starting ends connected to one of intersections I to IV, the smallest of the road numbers indicating roads having their terminal ends connected to the same intersection, the position of this intersection (east longitude, north latitude), and information on the name of this intersection. As shown in Fig. 3(c), the road data contains groups of data items, each at least comprising, with respect to one of road numbers 1 ○ to , the next road number having the same starting point, the next road number having the same terminal point, starting and terminal points or ends of each road represented by intersection numbers, a node series pointer, and the length of the road. As is apparent from Fig. 3(c), the next road number having the same starting point or end or the next road number having the same terminal point or end can be obtained by searching for a starting or terminal point or end respectively having the same intersection number, Also, the road length can be obtained by accumulating items of positional information represented by the below-described node series data. As shown in Fig. 3(d) by an array of items of node series data, the number of nodes is located at the head position to which the node series pointer points, and items of data representing node position (east longitude, north latitude) information are located at subordinate positions. That is, a group of data items representing a series of nodes is formed for each set of road data items. Examples of groups of data items shown in Fig. 3(d) have series of nodes corresponding to road numbers 1 ○ and 2 ○. As is apparent from the above-described data structures, a group of data items represented by each road number includes a plurality of nodes. That is, the node series data comprises groups of data items each relating to a point on one road. If the interconnection between the nodes is called an arc, a road can be expressed by connecting each of adjacent pairs of nodes in a series of a plurality of nodes. For example, with respect to road number 1 ○, a group of data items A000 can be accessed from the node series pointer in the road data. It is thereby found that the group of data items represented by road number 1 ○ includes fifteen nodes. With respect to a course starting from intersection number V to, for example, intersection number III, road number 7 ○ can be first found as a data item representing a leading-out road by searching the intersection data, and road number is found as a data item representing 'the next or another road number having the same starting end' by searching the road data with respect to the road number 7 ○. Road number can then be found in data items in the same category relating to road number , and road number 7 ○ can be again found in the same manner. Since, in this case, road number 7 which has been found first is found finally, it is possible to determine that there is no other road number indicating a road which connects with the intersection represented by intersection number V. The same can be said with respect to the terminal end. It is thus possible to find road numbers of roads leading out of or leading into each intersection by searching the intersection data and the road data and, hence, to obtain the lengths of roads connecting between intersections. Items of data on travelling conditions such as no-advance-into signs, no-right/left-turn signs and the widths of roads can be added to these groups of data items, which can serve as information for finely controlling course searching processing which will be described later. The flow of the overall processing will be described below with reference to Fig. 2. (S1) A destination point is first input. To effect this, a menu display can be provided, as illustrated in Fig. 4, and numerals representing a destination code ('0001') can be input through a ten key cluster in this display in touch-input manner. (52) A course search mode is then selected, and an optimum direction of travelling to the destination point is set or provided for each intersection. If, in the road system shown in Fig. 3(a), intersection I coincides with the destination point, directions of travelling to the destination point set at intersections II to VII are as shown in Fig. 5(a). Fig. 5(b) shows examples of data items representing this setting. In this course search process, the travelling directions at respective intersections are successively set from the intersection located nearest to the destination point in such a manner that each direction is selected to minimise the distance to the destination point. (S3) A present position from which travelling is started is input. In this step, the 'present position tracking failure flag' and the 'destination guide flag', and so on are cancelled. This step will be described later in more detail with reference to Fig. 7. (S4) After the present position inputting step, guidance in the travelling direction at the present position can be performed. Signals supplied from the distance sensor and the steering angles sensor are processed while the vehicle travels, thereby tracking the present position. Details of this step will be described later with reference to Fig. 8. In this step, the 'arrival-at-intersection flag' is cancelled at an initial stage, the present position is tracked by recognising informations on the length, and whether or not the vehicle has reached the intersection to which the driver is guided is determined. If it is confirmed that the vehicle has reached the intersection, the 'arrival-at-intersection flag' is set. If the intersection to which the driver is guided is not detected, the 'present position tracking failure flag' is set. (S5) After the present position tracking step, whether the 'arrival-at-intersection flag' is on or off is examined. (S6) If the 'annual-at-intersection flag' is off, whether the 'present position tracking failure flag' on or off is examined. If the 'present position tracking failure flag' is off, the process returns to step S4 to continue the tracking of the present position since it is possible to determine that the vehicle is running on one of the roads registered in the road system data. If the 'present position tracking failure flag' is on, it is determined that the vehicle is running on a road other than the roads registered in the road system data, and the process returns to step S3 to perform the operation of inputting a present position as a starting point again. (S7) If the 'arrival-at-intersection flag' is on, whether 'destination guide flag' is on or off is examined. 'Destination guide flag' is set in Step S10, which will be described later, when the terminal intersection of the present road coincides with the destination intersection. So long as 'destination guide flag' is on, it is determined that guidance to the destination intersection has been completed, and the process returns to the preceding destination inputting step. (S8) However, if the 'destination guide flag' is still off, it is determined that the destination intersection is located beyond the next intersection, and data on the travelling direction at the terminal intersection of the present road is read out, so that figures representing the configuration and features of the intersection, landmarks, the travelling direction selected at the intersection are drawn and displayed on the screen together with the name of the intersection and the distance to the intersection, thus performing guidance at the intersection. At this time, the 'arrival-at-intersection flag' is cancelled. (S9) Then, whether the terminal intersection of the present road coincides with the destination intersection is determined. If it does not coincide with the destination intersection, the process returns to step S4 of present position tracking. (S10) If the terminal of the present road coincides with the destination intersection the 'destination guide flag' is set and the process returns to step S4 of the present position tracking. The overall processing is thus conducted. The above-described steps will be described below in detail with respect to main routines thereof. In the processing routine of present position inputting step S3, an intersection number is first input, and the orientation, the configuration and the name of the intersection, landmarks located around the intersection and so on are read from the above-described intersection data, road data and node series data, thereby drawing and displaying the name and features of the intersection as well as the travelling direction on the screen, as shown in Fig. 7(a) (S31, S32). Travelling direction data relating to an intersection number input as the road number of the present road on the basis of the travelling direction data shown in Fig. 5(b) is then stored, and an arrow is drawn to indicate the road in the designated travelling direction, as shown in Fig. 7(a) (S33, S34). Thereafter, the processing waits for a starting input. When the driver inputs a starting command when the vehicle passes through the intersection, the 'present position tracking initialisation flag' is set while the 'present position tracking failure flag', the 'destination guide flag' and the 'annual-at-intersection flag' are cancelled (S35, S36). In the present position tracking step routine, as shown in Fig. 8, (S411) Whether or not the 'present position tracking initialisation flag' is on is first examined. In the case where initial data for present position tracking has not been set, this flag is on and initial position setting shown in Fig. 9 is therefore performed. After this setting has been completed, the 'present position tracking initialisation flag' is cancelled, and the process directly proceeds to the subsequent steps. In initial position setting, as shown in Fig. 9, the road length, the terminal intersection, a series of nodes are read from the road data and the node series data in accordance with the 'road number of present road', and values thereby read are set as the 'length of present road', the 'terminal intersection of present road' and the 'series of node or present road'. Furthermore, a signal from the distance sensor is read, and a value thereby read is set as the 'present distance sensor value'. At this time, the 'present position initialisation flag', the 'within-error-range flag', the 'out-of-error-range flag', the 'turning completion waiting flag', the 'during-turning-detection flag' are cancelled, and the 'length of present road' is set to the 'remaining distance to intersection'. (S412) The sensor detection processing (shown in Fig. 10) is then performed. In this step, present sensor values representing the distance and the steering angle are set as preceding sensor values. Thereafter, new sensor values are read and set as the present sensor values. A change in the steering angle relating to the distance through which the vehicle has travelled is determined, thereby obtaining a steering angle Sta at the present position. (S413) Aloop counter i is set to 0, and remaining distance calculation and other subsequent steps are repeated while loop counter i is incremented until the count value of loop counter i becomes equal to the distance through which the vehicle has travelled. To perform the remaining distance calculation, the remaining distance between the present position and the terminal intersection is stored as present position information with respect to the road number of the present road and the intersection number of the terminal intersection of the present road, as shown in Fig. 11(b). Each time the vehicle travels by a unit distance and a pulse is input from the distance sensor, the distance through which the vehicle has travelled is substracted from the remaining distance to the intersection, thereby updating the value of the remaining distance. Whether or not the updated remaining distance becomes smaller than an intersection error range distance is determined, as shown in Fig. 11(a). The 'within-error-range distance flag' is kept off and the remaining distance calculation is repeated until the remaining distance to the intersection becomes smaller than the intersection error range distance. After the remaining distance to the intersection has become smaller than the intersection error range distance, the within-error-range distance flag' is set. If the vehicle goes out of the intersection error range after the 'within-error-range flag' has been set, the 'out-of-error-range flag' is set. (S414) After the 'within-error-range flag' has been set, turning point detection (shown in Fig. 13) is performed by calculating the orientation and the locus of the vehicle. The calculation of the vehicle orientation/locus is performed in such a manner that, as shown in Fig. 12, the travel distance and the steering angle Sta are sampled each time the vehicle has travelled through a certain distance d; and a new orientation and a locus coordinates of the vehicle are calculated from the preceding vehicle orientation Ang and locus (X, Y) and are stored in a memory. For example, a vehicle orientation Ang (i) can be obtained from a steering angle Sta (i) read from sensor at each distance and the angle of turning of the vehicle previously stored, by an equation: Ang (i) = Θ (Sta (i)) + Ang (i - 1 ) and a vehicle locus (X (i), Y (i)) is obtained by (X (i), Y(i)) = (X (i - 1) + dx, Y (i - 1) + dY)) dx = d x cos (π - Ang(i)) dy = d x sin (π - Ang(i)) In turning point detection, as shown in Fig. 13. (S421), Whether or not the steering angle is larger than a threshold value is first determined, while both the 'turning completion flag' and the 'during-turning-detection flag' are off. In the case of YES (if the vehicle has started turning), the 'turning start point' is set to the present distance ('preceding sensor value' + i), and the 'during-turning-detection flag' is set. That is, when the steering angle becomes larger than the threshold value for the first time, turning detection processing is therefore started. In the case of NO (during turning detection of an apparent straight-line running with steering angles smaller than the threshold value). (S422), whether or not the steering angle is smaller than the threshold value is determined while the 'during-turning-detection flag' is on. In the case of YES (turning is detected at the preceding time and turning is completed at this time), the turning angle is set to the difference between the present orientation and the orientation at the turning start point. Then, whether or not the turning angle is larger than the minimum detected turning angle is examined. If the turning angle is equal to or smaller than the minimum detected turning angle, the 'during-turning-detection flag' is cancelled since it is not possible to determine that the vehicle has turned completely at the intersection. If the turning angle is larger than the minimum detected turning angle, it is possible to determine that the turning at the intersection has been completed, and the 'turning completion waiting flag' is set while the 'during-turning-detection flag' is cancelled. At the same time, the 'turning completion waiting position' is set to the present distance, which operation is utilised for detection of the position of the turning point. In the case of NO (turning has been completed, the system is still in the turning detecting state, or the vehicle is in a straight-running state). (S423), whether or not ('turning completion waiting position' + 10 m) is smaller than the present distance is determined while the 'turning completion waiting flag' is on. In the case of YES (the vehicle has travelled by 10 m after the turning completion), the turning angle is set to the difference between the present orientation and the orientation at the turning start point. Then, whether or not the turning angle is larger than the minimum detected turning error is examined. If the turning angle is equal to or smaller than the minimum detected turning angle, the 'turning completion waiting flag' is cancelled. If the turning angle is larger than 20°, the 'turning point detection flag' is set while the 'turning completion waiting flag' is cancelled. At the same time, the 'turning completion point' is set to the present distance to perform the calculation of the turning point position. (S415) Whether or not the 'turning point detection flag' is on is examined. If it is off, the counter i is incremented and the same steps are repeated. If it is on, road selection is performed. In the case where the remaining distance has become smaller than the intersection error range distance so that the 'within-error-range flag' has been set but the vehicle goes out of the intersection error range while the 'turning point detection flag' is still off because the turning point is not detected, the 'within-error-range flag' is set and the 'out-of-error-range flag' is cancelled, as described above with respect to S413. This state of processing involves the case where the vehicle passes through the intersection without turning. In this case also, the next road is selected in the same manner. To select a road, the angle by which the vehicle turns is first calculated, as shown in Fig. 14. Then, roads having their starting point at the intersection are read and the bending angle of each of these connecting roads is calculated, thereby obtaining a minimum value of the difference between the connecting road bending angle and the vehicle turning angle. If the minimum value is smaller than a predetermined maximum allowable differential angle, the corresponding road number is set as the 'road number of present road'. If the minimum value is larger than the predetermined maximum allowable differential, angle, it is determined that the road to be selected has not been detected, and the 'present position tracking failure flag' is set. That is, a road having a bending angle most approximate to the vehicle turning angle is selected as the road exiting the intersection from all the connecting roads. If the difference of these angles is excessively large, it is determined that the present position cannot be obtained and that it must be reset. (S416) Whether or not the 'present position tracking failure flag' is one is examined. If it is on, the process returns from steps S5, S6 to step S3, shown in Fig. 2. If it is still off, distance error correction is successively performed. To perform distance error correction, the road length, the terminal intersection and a series of nodes are read from the road data and the node series data with respect to the 'road number of present road' in the same manner as in the case of the initial position setting, as shown in Fig. 15. Values thereby read are set as the 'length of present road', the terminal intersection of present road', and the 'series of nodes of present road'. Whether or not the 'turning point detection flag' is on is then examined. A difference D between the present distance ('preceding sensor value' + i) and the turning point position is determined, the value D is subtracted from the 'length of present road', and the resulting value is set as the 'remaining distance to intersection'. In short, in this processing, errors accumulated until the vehicle turns at the intersection and advances onto the next road are corrected with respect to the length of the next road. However, if the 'turning point detection flag' is off, the 'remaining distance to intersection' is updated by adding the 'length of present road' to the preceding value of the 'remaining distance to intersection'. This corresponds to the case where the vehicle has passed through the intersection without turning thereat. If, for example, the remaining distance to interseo tion' has become nought at that intersection, the 'length of present road' is set as a new 'remaining distance to intersection' without being changed. Fig. 16 shows the results of error correction with respect to the case where a turning point has been detected and the case where no turning point has been detected. If, as shown in Fig. 16(a) the distance between the turning point position and the intersection position is ed, the remaining distance to the next intersection is corrected by D with the turning point set as the position of the intersection, as shown in Fig. 16 (b). (S417) The arrival-at-intersection flag is set, and loop counter i is incremented, thereby repeating the same processing. Next, the calculation of a turning point at an intersection will be described below. To calculate the position of a turning point in the turning point detection processing (Fig. 13), as shown in Fig. 17, a mean distance B 0 between a turning start point Aand a turning completion point C and a mean orientation d of the vehicle orientation Ang are obtained; loop counter j is set to 1; and a distance B is set to the mean distance B 0 . A point is searched at which a vehicle orientation Ang (B) at the distance B coincides with the mean orientation d or these orientations coincide with each other while loop counter j is incremented to set B 0 ±j as B. The coincidence point B is set as the turning point position. Then, a distance D up between the turning start point A and the turning point position B and a distance D down between the turning point position B and the turning completion point C are obtained as shown in Fig 18(d) and 18(e). Figs. 18(a) - 18(e) shows the relationship between major factors relating to this processing. The calculation of the position of the turning point and the calculation of the next turning angle are performed on the basis of the orientation and the locus coordinates of the vehicle detected while the vehicle enters the intersection error range and goes out of the same by selecting the exiting or going out road, as shown in Fig. 18(a). If the bending angle based on data between the coming-in road (leading-in road) and the going-out road (leading-out road) connecting with each other at the intersection is as illustrated in Fig. 18(b), the vehicle normally exhibits a locus such as that shown in Fig. 18(c), and the steering angle changes as shown in Fig 18(d). If the steering angle exceeds the threshold value at a point as shown in Fig. 18(d), this point is detected as the turning start point A. If the steering angle returns, at a point, to a value smaller than the threshold value, this point is set as a turning completion waiting position C' and a point to which the vehicle travels from the point C' by 10 m is detected as the turning completion point C. To calculate the vehicle turning angle in the road selection processing (Fig. 14), whether the 'turning point detection flag' is on or off is examined. If it is on, the turning completion point, the turning point position and the turning start point are obtained by the turning point detection processing (Fig. 13). If the flag is off, these values are not obtained and next values are set. That is, the present distance ('preceding sensor value' + i) is set as the turning completion point, a value obtained by subtracting the intersection error range distance from the present distance is set as the turning point position, and a value obtained by subtracting a value twice as large as the intersection error range distance from the present distance is set as the turning start point. ∠ABC shown in Fig. 18(e) is obtained as the vehicle turning angle from the coordinates of these three points. After the vehicle turning angle calculation has been completed, the road leading out of the intersection is read. In this processing, as shown in Fig. 20, one road number of road numbers indicating roads having the same starting point as (leading out of) the terminal intersection of the present road is read from the intersection data, and the road number thereby read is set as the 'road number' and the 'initial road number'. Loop counter j is set to 0. Thereafter, the road data is read while loop counter j is incremented until the next one of the road numbers indicating roads having the same starting point coincides with the 'initial road number', thereby successively reading out the rest of the road numbers having the same starting point. The number of road numbers thereby read is set as the 'number of leading-out roads'. To calculate the connecting road bending angle in the road selection processing (Fig. 14), the series of nodes relating to the road number of the present road is read from the road data and the node series data, and the coordinate (x A , y A ) of the point A located at the distance D up from the terminal point of this series is calculated, as shown in Fig. 21. The terminal point B of the series of nodes has a coordinate (x B , Y B ). Next, the series of nodes of the road leading out of the intersection is read from the road data and the node series data, and the coordinate (x c , y c ) of the point C located at the distance D down from the starting point of this road is calculated. On the basis of these coordinates, it is assumed that a circle internally touches straight lines AB, BC at the points A', C' and that the length of an arc (A'C') is equal to D up + D down , the coordinates of the points A' and C' are calculated, and the point of intersection of the inscribed circle and a straight line bisecting ∠ABC is found as a point B'. ∠A'B'C' thereby obtained is set as the 'connecting road bending angle'. Fig. 22 shows the relationship between these coordinates and angles. As described above, various flags are used for information processing in the navigation apparatus based on the present position calculating system in accordance with the present invention. The functions of the flags are as follows. 'Arrival-at-intersection flag': If it is on, guidance output for a next intersection is effected. It is cancelled during the present position inputting step, and it is set when the vehicle passes through an intersection. 'Destination guidance flag': If it is on when the vehicle arrives at an intersection, it is determined that the vehicle has arrived at the destination point, and the process returns to the start of the main routine (destination inputting step). It is cancelled during the present position inputting step, and it is set at the time of the outputting of next intersection guidance if the next intersection coincides with the destination point. 'Present position tracking failure flag': If it is on, the process returns at the present position inputting step, so as to perform present position inputting again in the main routine. It is cancelled during the present position inputting step, and it is set if there is no road to be selected at the time of road selection. 'Present position tracking initialisation flag': If it is on, the initial position setting routine is called. It is cancelled at the time of initial position setting, and it is set at the time of present position inputting. 'Within-error-range flag': If it is on, the calculation of the locus, turning point detection, and so forth are performed. It is set if the vehicle is within the intersection error range or, if not, it is cancelled. 'Out-of-error-range flag': If it is on, road selection is performed. It is set if the vehicle goes out of the intersection error range or, if not, it is cancelled. 'Turning point detection flag': If it is on, road selection is performed during present position tracking, and the present position is reset during distance error correction. If it is off, the turning start point, the turning completion point and the turning point position are determined during vehicle turning angle calculation. It is cancelled at the time of initial position setting, it is set if a turning point is detected, and it is cancelled after distance error correction. 'During-turning-detection flag', the 'turning completion waiting flag': They are used for turning detection / and turning completion detection, and are cancelled at the time of initial position setting. The 'during-turning-detection flag' is set if the steering angle exceeds the threshold value. On/off states of these flags are controlled whether or not the turning angle exceeds the minimum detected turning angle. Next, another embodiment of the present invention will be described below. In the above-described embodiment, the present position is tracked with respect a road number and the remaining distance to the terminal intersection relating to this road number. In contrast, in a second embodiment as shown in Fig. 23, the present position is tracked by recognising an intersection with a coordinate. Accordingly, part of processing of the second embodiment before the turning angle detecting step is the same as the above-described embodiment, but the second embodiment includes, as processing performed when the vehicle passes through an intersection, a step of comparing the intersection entering orientation with the turning angle and a present position correction step instead of the processing of the above-described embodiment from the road selection step to the distance error correction step. When, in an example shown in Fig. 24, the vehicle has advanced into the area of a circle having a certain radius and concentrical with an intersection, it is determined that the vehicle has entered an error range of the intersection. If a distance which defines the error range about the coordinate (x c , y c ) of the intersection is r, it is determined that the vehicle has entered the circle shown in Fig. 24 (a) when the vehicle has reached a position such that the coordinate (x o , y o ) of the present position (the position of the vehicle) satisfies a condition: (x c - x o ) 2 + (y c - y o ) 3 < r 2 Then, the detection of turning is performed as shown in Fig. 24 (b) so as to obtain a turning starting position and a turning completion position. If orientations at these positions are - 20° and - 100°, locus bending angle = (turning completion position orientation) - (turning start position orientation) = - 100° - ( - 20°) = - 80° is calculated, and the position of the turning point is detected, thereby setting D up = turning point position - turning start position D down = turning completion position - turning point position In the step of comparing the intersection entering orientation with the turning angle, roads leading into the intersection indicted by intersection number IV are found as leading-in roads from the intersection data or as roads having the same terminal end from the road data. The orientation at which the vehicle advances into the intersection along each of these roads is obtained as an orientation at a position located at the distance D up from the intersection position on the series of nodes of the road. If orientations thereby obtained are as listed below: and as shown in Fig. 25 (b), the road represented by the road number is regarded as the approaching road with respect to the example shown in Fig. 24 (b) because it has an entering orientation most approximate to the turning start position (- 20°). After the approaching road has been found, roads leading out of the intersection IV are read from the intersection data as roads having the same starting point from the road data. A change in the direction of travelling of the vehicle when the vehicle runs forward from the coming-in or approach road to each of the leading-out or departure roads is then obtained. In this processing, the leading-out road is obtained from the difference between the turning start position orientation on the coming-in road and the orientation at the position located at the distance D down from the intersection position on the series of nodes on the leading-out road. Accordingly, the relationship between the coming-in road and each of the leading-out roads 4 ○, 5 ○, 8 ○, 9 ○ is as follows. Road number Orientation at turning completion position and bending angle 4 ○ - 30° - (- 25°) = - 5° 5 ○ 80° - (- 25°) = 105° 8 ○ - 120°- (- 25°) = -95° 9 ○ 155°- (- 25°) = 180° In consequence, since the locus turning angle is - 80° in the example shown in Fig. 24 (b), the bending angle between the roads and 8 ○ is closest to the above value is selected as the desired change in the travelling direction. Fig. 26 shows a processing routine for the comparison between the intersection entering orientation and the turning angle. In the processing routine shown in Fig. 26, roads leading into an intersection are first read out. In this processing, as shown in Fig. 27, the road number of one of the roads leading into the terminal intersection of the present road is read from the intersection data. This number is set as the 'road number' and 'initial road number', and loop counter j is set to 0. The rest of the leading-in road numbers are all read successively by reading the road data while incrementing loop counter j until the next number of a road having the same terminal point coincides with 'initial road number'. The number of roads thereby found is set as 'number of leading-in roads'. That is, the processing is similar to the step of reading the road numbers of roads leading out of an intersection, which is described above with reference to Fig. 20. Thereafter, the step of reading the road numbers of roads leading out of an intersection is performed in the same manner as the step shown in Fig. 20. Loop counter j is then set to 0. As loop counter j is incremented to the number of leading-in roads, coming-in road determination is performed with respect to the roads shown in Fig.(25 b). Loop counter k is then set to 0. As this loop counter is incremented, the bending angle is calculated, and travelling-direction road determination is performed with respect to the roads shown in Fig. 25 (c). The road number indicating the road thereby obtained is set as the road number of the present road. Present position correction is performed after the road number of the present position road has been obtained. In this processing, as shown in Fig. 28 (a), the present position coordinate on the series of nodes of the road 8 ○ is set, and the orientation at the present position is set to the orientation (- 120°) at the turning completion position on the series of nodes. The terminal intersection V of the road having the road number 8 ○ is read as the next intersection, as shown in Fig. 28 (b), and the coordinate of this intersection is read from the intersection data. Thereafter, advancement of the vehicle into the error range of the intersection V is observed. Fig. 29 shows a processing routine for this present position correction. In this processing routine as shown in Fig. 29, the terminal intersection and the series of nodes of the roads relating to the road number of the present road are first read from the road data, and are set as the 'terminal intersection of present road' and the 'series of nodes'. The coordinate corresponding to the east longitude and the north latitude of the 'terminal intersection of present road' is read from the intersection data and is set as the 'east longitude north latitude coordinate of next intersection'. The coordinate on the series of nodes at the distance D down from the starting point of 'series of nodes' is set as a coordinate (X["preceding sensor value" + i], Y["preceding sensor value" + i]), while the orientation between nodes at the distance D down from the starting point of 'series of nodes' is set as the orientation at the present position. A still another embodiment of the present invention will be described below. Referring to Fig. 30, a key input means 31, trigger input means 32, a guidance data memory means 33, a guidance information setting means 34, a display outputting means 35, and a voice outputting means 36 are provided. The key input means 31 is constituted by a ten key cluster or function keys and is adapted to input code numbers representing predetermined points set as a destination point and a present position (guidance point). The trigger input means 32 is constituted by a touch-switch, a pushbutton switch or the like and is adapted to input a single trigger signal. The guidance data memory means 33 is a memory device such as a ROM for storing navigation data or information on places set as a destination point a present position, and so on. If a destination point is input or designated through the key input means 31, information for guidance to the destination point is set in the guidance information setting means 34 constituted by, for example, a CPU, in correspondence with respective points stored in the guidance data memory means 33. This information is stored in a memory such as a RAM. When a code number representing a present position is input through the key input means 31, the display output means 35 and the voice output means 36 output guidance information stored in the guidance information setting means 34. When a trigger signal is input through the trigger input means 32, the output means outputs guidance information on the next point on the course leading to the destination stored in the guidance information setting means 34 in accordance with the order of, for example, a, b, c ... as shown in Fig. 31. For guidance at intersections, guidance information assigned to an intersection includes information on turning to the right or turning to the left at the next intersection for guidance to the destination. In the case where two intersections are located close to each other, it is of course possible that the guidance information includes information for designating a lane on which the driver should run the vehicle immediately before the vehicle turns at the first one of these intersections, as well as information on the direction in which the driver must steer the vehicle at this intersection, and that the guidance information further includes information on the direction in which the driver must steer the vehicle at the second intersection. Next, the flow of processing in a navigation apparatus having a means for inputting codes representing a destination point and a present point, an intersection confirmation trigger and a present position inputting button and adapted to perform guidance at intersections will be described below with reference to Fig. 32. A destination code is first input by the driver (step 1 ○), thereby setting a course search mode and information for guidance to the destination point (step 2 ○). After course searching has been completed, present point inputting mode is selected. When a present point code is input (step 3 ○), a travelling direction designated for this point is output (step 4 ○ ). Then, an intersection confirmation trigger is input (starting input, step 5 ○), information for guidance to the destination point at the next intersection is output (step 6 ○). Whether an intersection confirmation trigger or a present point inputting button signal is input is observed (step 7 ○). If an intersection confirmation trigger is input, the process returns to the processing of the step 6 ○. If a present point inputting button signal is input, the process returns to the processing of the step 3 ○. In short, in this system, a trigger is input each time an intersection is identified so long as the vehicle runs in accordance with guidance, or the present position inputting button is pressed by the driver if the driver finds that vehicle has deviated from the guidance course and travelled to a different intersection. Accordingly, items of information for guidance at intersections in the course leading to the destination point are successively output in response to trigger inputs, but if the present point inputting button is pressed, the present point inputting mode is selected. In the above example, guidance points are set to intersections. However, it is possible to set, as guidance points, landmarks such as bridges, elevated railroads and public facilities if the distance between intersections is large. Information for guidance to the destination point can include specific absolute information on that place shown as a map and a photograph on the display screen as well as voices. If there are some contents to be specially marked in information to be output, display design or display characters relating to them can be changed or different tones or intermittent sounds can be used. The apparatus can be designed not only to perform successive feeding of guidance points with triggers but also to enable the driver to see information for guidance several kilometers ahead the present position as desired. A navigation apparatus having the above-described present position calculating system and the above-described updating system based on touch-operation can be adapted for processing, for example, a region consisting of monotonous roads such as single-lane roads and a region consisting of a complicated road system while being combined with each other. As is apparent from the foregoing, in the system of the present invention, the direction of travelling to the destination point is set at each intersection, and the travelling direction at the next intersection is designated by the detection of the present position, thereby enabling the driver to freely select the course to his destination. Guidance information on the travelling direction can be output at any intersection. Intersection recognition processing is performed on the condition that the vehicle has entered the terminal intersection error range on the basis of road system data. The road in the travelling direction is thereby selected, and guidance at the terminal intersection of the selected road is output. It is therefore sufficient to repeat guidance at respective intersections in the course to the destination point. The system can be operated with flexibility from any intersection by using data with a simple data structure. Even if the driver has selected a road which deviates from the guidance course of the designated travelling direction, he can be guided at the terminal intersection of the selected road in a suitable direction of travelling to his destination so long as the destination point is not changed. Therefore, even if the driver selects a road different from the optimum course at an intersection because of traffic snarl or for other reasons, he can be guided at the next intersection. Similarly, in the case where the driver is strayed out of the course, he can continue driving on the present road to an intersection and, at this intersection, immediately start present position tracking processing by inputting this intersection as the present position. Even if the road tracking means for recognising intersections malfunctions, the driver can continue navigation control by inputting intersection recognition signals with a trigger input means constituted by a touch switch or a button switch.

Claims: A navigation apparatus having a present vehicle position locative system comprising: storage means ( 6 ) for storing road system data including information about coordinates of intersections and roads between said intersections, means ( 2, 12 ) for detecting travel distance, means ( 3, 13 ) for detecting vehicle orientation, output means ( 5 ) for outputting guidance information to a driver of said vehicle, navigation means ( 4 ) including turning point detection means ( 21 ) for detecting turning of a vehicle at an intersection, and present position detecting means ( 17 ) for determining a present position of a vehicle based upon a detected turning point and detected travel distance, and means for providing guidance information to said output means depending on the determined present position, characterized in that said navigation means ( 4 ) is arranged, in response to input of a destination point, to derive from data of said storage means ( 6 ) a plurality of courses to said destination point from intersections of said road system data, wherein the directions of optimum traveling to said destination point are set with respect to all intersections listed in said road system data as navigation data, that said means for detecting turning of a vehicle includes means responsive to change in the steering angle of the steering mechanism of the vehicle at a first intersection in order to select a read of travel from said first intersection to a secon intersection, and to determine the remaining distance to said second intersection based upon the length of said selected road and said detected travel distance, and that said means for providing guidance information is further arranged to provide guidance information relating to a selected one of said plurality of courses to said destination point that includes said second intersection. A navigation apparatus according to Claim 1, characterised in that said navigation means (4) is arranged to update said remaining distance each time said detected travel distance equals a predetermined unit distance (S412,S413). A navigation apparatus according to Claim 1, characterised in that said navigation means (4) is arranged to determine an orientation and coordinates of said vehicle from said detected travel distance and said detected steering angle and to determine said present position based on said orientation and coordinates (Fig.14). A navigation apparatus according to Claim 1, characterised in that said navigation means (4) is arranged to determine a turning angle of said vehicle and then said present position by a comparison of said turning angle and a position obtained from said road system data (Fig.26). A navigation apparatus according to Claim 1, characterised in that said navigation means (4) includes said turning point detecting means (21) for detecting turning of said vehicle at said first intersection and distance error correcting means (23) for correcting distances to said second intersection based upon said detected turning of said vehicle. A navigation apparatus according to Claim 2 and 3, characterised in that said navigation means (4) is arranged to retrieve previous vehicle orientation and coordinates from a memory and to determine new vehicle orientation and coordinates from said detected travel distance and steering angle and to store said new orientation and coordinates in said memory. A navigation apparatus according to Claim 4, characterised in that said turning point detection means for detecting turning of a vehicle at an intersection is arranged to obtain a turning starting position orientation and to subtract a turning completion position orientation therefrom to derive a locus bending angle. A navigation apparatus according to Claim 7, characterised in that said navigation means is arranged to compare the turning starting position orientation with the orientation of roads leading into the intersection whereby an approach road may be identified. A navigation apparatus according to Claim 8, characterised in that said navigation means is arranged to compare the locus bending angle with the angle between the said approach road and each of the roads leading away from the intersection whereby a departure road may be identified. A navigation apparatus according to Claim 4, characterised in that said navigation means (4) is arranged to find from said road system data, using said present position, a present position road and to obtain the coordinates of a next intersection whereby advancement of the vehicle to the next intersection is detected in order that processing may be carried out.

Inventors: MOROTO SHUZO, NANBA AKIMASA, NIMURA MITSUHIRO, SUMIYA KOJI, YOKOYAMA SHOUJI, MOROTO, SHUZO, NANBA, AKIMASA, NIMURA, MITSUHIRO, SUMIYA, KOJI, YOKOYAMA, SHOUJI
Applicants: AISIN AW CO, AISIN AW CO., LTD.
Application year: 1988
Main classification: G01C21
IPC codes: G01C21