Driving assistance systems and computer programs
The driver assistance device and computer program address the limitation of existing systems by identifying stopping positions earlier using high-precision map information and real-time vehicle data, generating a speed plan to avoid recommended stopping areas, thereby reducing sudden braking and enhancing safety.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- AISIN CORP
- Filing Date
- 2021-11-30
- Publication Date
- 2026-04-21
AI Technical Summary
Existing automatic driving support systems are limited in detecting available stopping space behind a leading vehicle until the vehicle is close to an intersection, leading to potential sudden braking.
A driver assistance device and computer program that identify a stopping position earlier by analyzing the behavior of the vehicle ahead and generating a speed plan to avoid areas where stopping is not recommended, such as intersections or railway crossings, using high-precision map information and real-time vehicle data.
Enables earlier identification of stopping locations, reducing the burden on the driver by generating a less abrupt speed plan, thus enhancing safety and reducing sudden braking.
Smart Images

Figure 0007848467000001 
Figure 0007848467000002 
Figure 0007848467000003
Abstract
Description
Technical Field
[0001] The present invention relates to a driving support device and a computer program for performing driving support for a vehicle.
Background Art
[0002] In recent years, as a driving mode of a vehicle, in addition to manual driving that travels based on a user's driving operation, an automatic driving support system that assists the user in driving the vehicle by the vehicle side executing part or all of the user's driving operations has been newly proposed. In the automatic driving support system, for example, the current position of the vehicle, the lane in which the vehicle travels, and the positions of other surrounding vehicles are detected at any time, and vehicle control such as steering, drive source, and brake is automatically performed so as to travel along a preset route.
[0003] Also, in the driving by the above automatic driving support, it is also performed to generate in advance, as a speed plan, how the traveling speed of the vehicle during traveling changes, and to control the vehicle to travel based on the generated speed plan. Here, there are various factors that affect the traveling of the vehicle on the road. Particularly, when it is necessary for the vehicle to stop during traveling on the road, it is necessary to determine the position to stop and generate a speed plan according to the position to stop. Examples of such cases where the vehicle stops during traveling on the road include the presence of a stop sign, the presence of a traffic signal or a railroad crossing, and the presence of a vehicle ahead. As an example, in International Publication No. 2019 / 069437, when a vehicle ahead located on the road after passing through an intersection is recognized by a camera, it is predicted whether a space where the own vehicle can stop is formed behind the vehicle ahead after passing through the intersection. If there is a space, a speed plan for passing through the intersection is generated, and if there is no space, a speed plan for stopping before the intersection is generated.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
[0005] In the technology described in Patent Document 1, the position of the vehicle ahead and the space available for stopping the vehicle are detected using means capable of imaging the area around the vehicle, such as a camera. However, the detectable range is limited to the vicinity of the vehicle. Therefore, the timing at which it is possible to determine whether or not there is space to stop the vehicle behind the vehicle ahead after passing through an intersection is after the vehicle has approached the intersection to a certain extent. If a speed plan is generated to stop before the intersection after this determination, there is a risk of sudden braking.
[0006] The present invention was made to solve the aforementioned problems of the conventional system, and aims to provide a driver assistance device and computer program that can identify the location where the vehicle should stop at an earlier stage than in the conventional system when the vehicle needs to stop, and that can generate a speed plan that does not burden the driver. [Means for solving the problem]
[0007] To achieve the above objective, the driver assistance device according to the present invention includes: a planned route acquisition means for acquiring a planned route on which the vehicle will travel; an area information acquisition means for acquiring information on areas where stopping is not recommended, which are areas on the planned route that the vehicle will pass through and where stopping should be avoided; a passage determination means for determining whether there is a possibility that the vehicle ahead will stop before passing the area where stopping is not recommended, based on the behavior of the vehicle ahead, when the area where stopping is not recommended is located a predetermined distance ahead of the vehicle and a vehicle ahead is traveling ahead of the vehicle; a stopping position determination means for determining a stopping position for the vehicle, taking into account the vehicle's driving conditions, the state of the vehicle ahead, and the area where stopping is not recommended, when it is determined that there is a possibility that the vehicle ahead will stop before passing the area where stopping is not recommended; a speed plan generation means for generating a speed plan for the vehicle to stop at the stopping position; and a driver assistance means for providing driving assistance for the vehicle based on the stopping position and the speed plan. The stopping position determination means determines whether the vehicle can stop before the area where stopping is not recommended if it were to start decelerating at that moment. If it can stop before the area where stopping is not recommended, the stopping position is set to be before the area where stopping is not recommended. However, if it cannot stop before the area where stopping is not recommended, the means further calculates the stopping position of the vehicle ahead based on the behavior of the vehicle ahead. Within the area where stopping is not recommended, the means extracts candidate stopping positions between the end of the intersection section that overlaps with the intersecting road and the stopping position of the vehicle ahead, excluding pedestrian crossings, where there is enough space for the vehicle to stop. If candidate stopping positions are extracted, the stopping position is determined from among the candidate stopping positions. If no candidate stopping positions are extracted, the stopping position is determined to be before the start of the intersection section within the area where stopping is not recommended. . Areas where stopping is not recommended include, for example, intersections, railway crossings, pedestrian crossings, areas where stopping is prohibited by road signs, and areas where trams pass. Furthermore, "driving assistance" refers to functions that perform or assist at least some of the driver's vehicle operations, or to display or voice guidance to assist driving.
[0008] Furthermore, the computer program according to the present invention is a program that generates support information used for driving assistance implemented in a vehicle. Specifically, the computer functions as follows: a driving route acquisition means for acquiring the planned driving route that the vehicle will travel; an area information acquisition means for acquiring information on areas where stopping is not recommended, which are areas that the vehicle will pass through on the planned driving route and where stopping should be avoided; a passage determination means for determining whether there is a possibility that the vehicle ahead will stop before passing the area where stopping is not recommended, based on the behavior of the vehicle ahead, when the area where stopping is not recommended is located a predetermined distance ahead of the vehicle and there is a vehicle ahead of the vehicle ahead; a stopping position determination means for determining a stopping position for the vehicle, taking into account the driving conditions of the vehicle ahead, the state of the vehicle ahead, and the area where stopping is not recommended, when it is determined that there is a possibility that the vehicle ahead will stop before passing the area where stopping is not recommended; a speed plan generation means for generating a speed plan for the vehicle to stop at the stopping position; and a driving assistance means for providing driving assistance to the vehicle based on the stopping position and the speed plan. Furthermore, the stopping position determination means determines whether the vehicle can stop before the area where stopping is not recommended if it were to start decelerating at that moment. If it can stop before the area where stopping is not recommended, the stopping position is set to be before the area where stopping is not recommended. However, if it cannot stop before the area where stopping is not recommended, the means further calculates the stopping position of the vehicle ahead based on the behavior of the vehicle ahead. Within the area where stopping is not recommended, the means extracts candidate stopping positions between the end of the intersection section that overlaps with the intersecting road and the stopping position of the vehicle ahead, excluding pedestrian crossings, where there is enough space for the vehicle to stop. If candidate stopping positions are extracted, the stopping position is determined from among the candidate stopping positions. If no candidate stopping positions are extracted, the stopping position is determined to be before the starting point of the intersection section within the area where stopping is not recommended. [Effects of the Invention]
[0009] According to the driver assistance device and computer program of the present invention having the above configuration, when it is necessary for the vehicle to stop, the vehicle's driving information and Condition of the vehicle in front By using information on areas where stopping should be avoided, it becomes possible to identify the appropriate stopping location for the vehicle at an earlier stage than before. This makes it possible to generate a speed plan that is less burdensome for the driver. [Brief explanation of the drawing]
[0010] [Figure 1] This is a schematic diagram showing the driver assistance system according to this embodiment. [Figure 2] This is a block diagram showing the configuration of the driver assistance system according to this embodiment. [Figure 3] This is a block diagram showing the navigation device according to this embodiment. [Figure 4] This is a flowchart of an automatic driving support program according to this embodiment. [Figure 5] This is a diagram showing an area where high-precision map information is acquired. [Figure 6] This is a diagram showing an example of an avoidance trajectory which is one of the dynamic driving trajectories. [Figure 7] This is a flowchart of a sub-processing program for static driving trajectory generation processing. [Figure 8] This is a diagram showing an example of a planned driving route of a vehicle. [Figure 9] This is a diagram showing an example of a lane network constructed for the planned driving route shown in FIG. 8. [Figure 10] This is a flowchart of a sub-processing program for static speed plan generation processing. [Figure 11] This is a diagram showing an example of a static speed plan. [Figure 12] This is a flowchart of a sub-processing program for dynamic speed plan generation processing. [Figure 13] This is a flowchart of a sub-processing program for dynamic speed plan generation processing. [Figure 14] This is a diagram showing an example of a non-recommended parking area set for an intersection. [Figure 15] This is a diagram showing an example of a non-recommended parking area set for an intersection. [Figure 16] This is a diagram showing an example of a non-recommended parking area set for a railroad crossing. [Figure 17] This is a diagram showing the braking distance of a vehicle. [Figure 18] This is a diagram showing the passing position of a non-recommended parking area. [Figure 19] This is a diagram showing an example when the parking position of the host vehicle is determined in front of a non-recommended parking area. [Figure 20] This is a diagram showing parking position candidates extracted from within a non-recommended parking area. [Figure 21]It is a diagram showing an example when the parking position of the host vehicle is determined as a parking position candidate within a non-recommended parking area. [Figure 22] It is a diagram showing parking position candidates extracted between the intersection section and the vehicle ahead. [Figure 23] It is a diagram showing an example when the parking position of the host vehicle is determined as a parking position candidate within a non-recommended parking area.
Mode for Carrying Out the Invention
[0011] Hereinafter, a specific embodiment in which the driving support device according to the present invention is embodied in the navigation device 1 will be described in detail with reference to the drawings. First, the schematic configuration of the driving support system 2 including the navigation device 1 according to the present embodiment will be described using FIGS. 1 and 2. FIG. 1 is a schematic configuration diagram showing the driving support system 2 according to the present embodiment. FIG. 2 is a block diagram showing the configuration of the driving support system 2 according to the present embodiment.
[0012] As shown in FIG. 1, the driving support system 2 according to the present embodiment basically includes a server device 4 provided in the information distribution center 3 and a navigation device 1 mounted on the vehicle 5 that performs various supports related to the automatic driving of the vehicle 5. Further, the server device 4 and the navigation device 1 are configured to be able to transmit and receive electronic data to and from each other via the communication network 6. Note that instead of the navigation device 1, other in-vehicle devices mounted on the vehicle 5 or a vehicle control device that controls the vehicle 5 may be used.
[0013] Here, in addition to manual driving in which the vehicle 5 travels based on the driving operation of the user, the vehicle 5 is a vehicle capable of supported driving by automatic driving support in which the vehicle automatically travels along a preset route or course without depending on the driving operation of the user.
[0014] Furthermore, autonomous driving assistance may be provided for all road sections, or it may be configured to be provided only while the vehicle is traveling through specific road sections (for example, highways with gates (regardless of whether they are manned or unmanned, tolled or free) at the boundaries). In the following explanation, the autonomous driving sections in which vehicle autonomous driving assistance is provided will include all road sections, including general roads and highways, as well as parking lots, and will be described as basically providing autonomous driving assistance from the time the vehicle starts traveling until it stops traveling (until the vehicle is parked). However, it is desirable that autonomous driving assistance not be provided every time the vehicle travels through an autonomous driving section, but only when the user selects to provide autonomous driving assistance (for example, by turning on the autonomous driving start button) and when it is determined that it is possible to provide autonomous driving assistance. On the other hand, vehicle 5 may be a vehicle that is only capable of autonomous driving assistance.
[0015] In the vehicle control for automated driving assistance, for example, the vehicle's current position, the lane it is traveling in, and the positions of surrounding obstacles are detected in real time, and the steering, drive source, brakes, and other vehicle controls are automatically performed so that the vehicle travels along the driving trajectory generated by the navigation device 1, as described later, and at a speed according to the speed plan that was also generated. In this embodiment, the vehicle is driven by the automated driving assistance system for assisted driving, including lane changes, right and left turns, and parking operations. However, for special driving operations such as lane changes, right and left turns, and parking operations, the vehicle may be driven manually without the automated driving assistance system.
[0016] On the other hand, the navigation device 1 is mounted in the vehicle 5 and is an in-vehicle device that displays a map of the area around the vehicle's position based on map data held by the navigation device 1 or map data acquired from an external source, allows the user to input a destination, displays the vehicle's current position on the map image, and provides driving guidance along a set guidance route. In this embodiment, in particular, when the vehicle performs assisted driving using automated driving assistance, it generates various support information related to automated driving assistance. Examples of support information include the recommended driving trajectory for the vehicle (including the recommended lane movement pattern), the selection of a parking position for parking the vehicle at the destination, and a speed plan indicating the vehicle speed when driving. Further details of the navigation device 1 will be described later.
[0017] Furthermore, the server device 4 performs route searching in response to requests from the navigation device 1. Specifically, when a destination is set in the navigation device 1 or when a route search (rerouting) is performed, information necessary for route searching, such as the departure point and destination, is transmitted from the navigation device 1 to the server device 4 along with the route search request (however, in the case of a research, it is not always necessary to transmit information about the destination). Upon receiving the route search request, the server device 4 performs a route search using the map information it possesses and identifies a recommended route from the departure point to the destination. After that, it transmits the identified recommended route to the requesting navigation device 1. The navigation device 1 then provides the user with information about the received recommended route, sets the recommended route as the guidance route, and generates various support information related to automated driving assistance according to the guidance route. As a result, even if the map information possessed by the navigation device 1 is an older version, or if the navigation device 1 does not possess map information at all, it is possible to provide an appropriate recommended route to the destination based on the latest version of map information possessed by the server device 4.
[0018] Furthermore, in addition to the regular map information used for route searching, server device 4 also possesses high-precision map information, which is more accurate map information. High-precision map information includes, for example, information on road lane shapes (road shape and curvature per lane, lane width, etc.) and road markings (center line, lane boundary, outer line, guide lines, traffic guide zone, etc.). It also includes information on intersections, railway crossings, parking lots, etc. Server device 4 distributes high-precision map information in response to requests from navigation device 1, and navigation device 1 uses the high-precision map information distributed from server device 4 to generate various support information related to automated driving assistance, as described later. Note that high-precision map information is basically map information that only covers roads (links) and their surroundings, but it may also include areas other than the road surroundings.
[0019] However, the route search process described above does not necessarily have to be performed by the server device 4; if the navigation device 1 has map information, it may be performed by the navigation device 1. Also, high-precision map information may be provided by the navigation device 1 in advance, rather than being distributed from the server device 4.
[0020] Furthermore, the communication network 6 includes numerous base stations located throughout the country and communication companies that manage and control each base station, and is constructed by connecting the base stations and communication companies to each other via wired (optical fiber, ISDN, etc.) or wireless connections. Here, each base station has a transceiver (transceiver) and antenna that communicates with the navigation device 1. In addition to conducting wireless communication between communication companies, the base stations also serve as the end of the communication network 6 and have the role of relaying communications between the navigation device 1, which is within the range (cell) of the base station's radio waves, and the server device 4.
[0021] Next, the configuration of the server device 4 in the driver assistance system 2 will be explained in more detail using Figure 2. As shown in Figure 2, the server device 4 comprises a server control unit 11, a server-side map DB 12 as an information recording means connected to the server control unit 11, a high-precision map DB 13, and a server-side communication device 14.
[0022] The server control unit 11 is a control unit (MCU, MPU, etc.) that controls the entire server device 4, and is equipped with a CPU 21 as an arithmetic unit and control device, RAM 22 used as working memory when the CPU 21 performs various arithmetic processing, ROM 23 on which control programs are stored, and flash memory 24 for storing programs read from ROM 23, among other internal storage devices. The server control unit 11, together with the ECU of the navigation device 1 described later, has various means as processing algorithms.
[0023] On the other hand, the server-side map DB12 is a storage means that stores server-side map information, which is the latest version of map information registered based on external input data and input operations. Here, server-side map information consists of various information necessary for route searching, route guidance, and map display, including road networks. For example, it consists of network data including nodes and links that show the road network, link data related to roads (links), node data related to node points, intersection data related to each intersection, location data related to locations such as facilities, map display data for displaying maps, search data for searching for routes, search data for searching for locations, etc.
[0024] Furthermore, the high-precision map DB13 is a storage means that stores high-precision map information 15, which is map information with higher precision than the server-side map information mentioned above. The high-precision map information 15 is map information that stores more detailed information, particularly regarding roads and parking lots that vehicles travel on. In this embodiment, for example, regarding roads, it includes information on lane shape (road shape and curvature per lane, lane width, etc.) and road markings (center line of the roadway, lane boundary line, outer line of the roadway, guide lines, traffic guides, etc.). In addition, data representing the slope, cant, bank, merging sections, places where the number of lanes decreases, places where the width narrows, level crossings, etc. of the road are recorded. Regarding corners, data representing the radius of curvature, intersections, T-junctions, corner entrances and exits, etc. is recorded. Regarding road attributes, data representing downhill roads, uphill roads, etc. is recorded. Regarding road types, data representing general roads such as national roads, prefectural roads, and narrow streets, as well as toll roads such as expressways, urban expressways, motorways, general toll roads, and toll bridges are recorded. In addition to the number of lanes on a road, the map also records information identifying the direction of travel for each lane and the connections between roads (specifically, the correspondence between lanes on a road before passing a junction and lanes on a road after passing a junction). Furthermore, the speed limit set for the road is also stored. The high-precision map DB13 also includes information on intersections and railway crossings. More specifically, it stores information on the shape of intersections and features placed on them. "Features placed on intersections" include road markings (stop lines, pedestrian crossings, etc.), lane markings, poles, traffic lights, and other structures painted on the road surface at intersections. Information on the shape of railway crossings and the location of the barriers is also stored. In addition, information identifying areas where vehicles should avoid stopping, other than intersections and railway crossings, is also stored. Examples include road signs indicating no-stopping zones and areas where trams pass. While high-precision map information is basically map information that only covers roads (links) and their surroundings, it may also include map information that covers areas other than those surrounding roads. Furthermore, in the example shown in Figure 2, the server-side map information stored in the server-side map DB 12 and the high-precision map information 15 are different map information, but the high-precision map information 15 may be part of the server-side map information.
[0025] On the other hand, the server-side communication device 14 is a communication device for communicating with the navigation device 1 of each vehicle 5 via the communication network 6. In addition to the navigation device 1, it is also possible to receive traffic information consisting of various types of information such as congestion information, regulation information, and traffic accident information transmitted from the Internet network and traffic information centers, such as VICS (registered trademark: Vehicle Information and Communication System) centers.
[0026] Next, the schematic configuration of the navigation device 1 installed in the vehicle 5 will be explained using Figure 3. Figure 3 is a block diagram showing the navigation device 1 according to this embodiment.
[0027] As shown in Figure 3, the navigation device 1 according to this embodiment includes a current position detection unit 31 that detects the current position of the vehicle on which the navigation device 1 is installed, a data recording unit 32 on which various data are recorded, a navigation ECU 33 that performs various calculation processing based on the input information, an operation unit 34 that accepts operations from the user, a liquid crystal display 35 that displays information to the user such as a map of the area around the vehicle and the guidance route (planned route of the vehicle) set in the navigation device 1, a speaker 36 that outputs voice guidance regarding route guidance, a DVD drive 37 that reads a DVD which is a storage medium, and a communication module 38 that communicates with an information center such as a probe center or a VICS center. Furthermore, the navigation device 1 is connected to an external camera 39 and various sensors installed on the vehicle on which the navigation device 1 is installed via an in-vehicle network such as CAN. In addition, it is connected in a bidirectional communication manner to a vehicle control ECU 40 that performs various controls on the vehicle on which the navigation device 1 is installed.
[0028] The following describes each component of the navigation device 1 in order. The current position detection unit 31 consists of a GPS 41, a vehicle speed sensor 42, a steering sensor 43, a gyro sensor 44, etc., and is capable of detecting the current position, direction, vehicle speed, current time, etc. In particular, the vehicle speed sensor 42 is a sensor for detecting the distance traveled and vehicle speed of the vehicle, and generates pulses in accordance with the rotation of the vehicle's drive wheels and outputs the pulse signal to the navigation ECU 33. The navigation ECU 33 then calculates the rotation speed of the drive wheels and the distance traveled by counting the generated pulses. It should be noted that the navigation device 1 does not need to be equipped with all four types of sensors mentioned above, and the navigation device 1 may be configured to be equipped with only one or more of these types of sensors.
[0029] Furthermore, the data recording unit 32 includes a hard disk (not shown) as an external storage device and recording medium, and a recording head (not shown) which is a driver for reading map information DB 45, cache 46, predetermined programs, etc., recorded on the hard disk, and for writing predetermined data to the hard disk. The data recording unit 32 may also have flash memory, a memory card, or an optical disc such as a CD or DVD instead of a hard disk. Also, in this embodiment, as described above, the server device 4 searches for a route to the destination, so the map information DB 45 may be omitted. Even if the map information DB 45 is omitted, it is possible to obtain map information from the server device 4 as needed.
[0030] Here, the map information DB45 is a storage means that stores, for example, link data related to roads (links), node data related to node points, search data used for processing related to route searching and modification, facility data related to facilities, map display data for displaying maps, intersection data related to each intersection, and search data for searching for locations.
[0031] On the other hand, the cache 46 is a storage means for storing high-precision map information 15 that has been previously distributed from the server device 4. The storage period can be set as appropriate, for example, a predetermined period (e.g., one month) from the time it is stored, or until the vehicle's ACC power (accessory power supply) is turned off. Alternatively, after the amount of data stored in the cache 46 reaches its limit, older data may be deleted sequentially. The navigation ECU 33 then uses the high-precision map information 15 stored in the cache 46 to generate various support information related to autonomous driving assistance. Details will be described later.
[0032] On the other hand, the navigation ECU (Electronic Control Unit) 33 is an electronic control unit that controls the entire navigation device 1, and includes a CPU 51 as a processing unit and control device, a RAM 52 which is used as working memory when the CPU 51 performs various calculations and stores route data when a route is searched, a ROM 53 which stores control programs as well as the automatic driving support program (see Figure 4) described later, and other internal storage devices such as a flash memory 54 which stores programs read from the ROM 53. The navigation ECU 33 also has various means as processing algorithms. For example, the planned route acquisition means acquires the planned route that the vehicle will travel. The area information acquisition means acquires information about areas on the planned route that the vehicle will pass through and where stopping should be avoided, which are areas where stopping is not recommended. The event acquisition means acquires an event as a deceleration-causing event when an area where stopping is not recommended is located a predetermined distance ahead of the vehicle, and an event that causes the vehicle to decelerate or stop occurs in or around the area where stopping is not recommended. The stopping position determination means determines the stopping position for the vehicle when it is determined that the vehicle needs to stop due to a deceleration-causing event, taking into consideration the vehicle's driving conditions, the nature of the deceleration-causing event, and areas where stopping is not recommended.
[0033] The control unit 34 is operated when inputting the starting point (departure point) and the ending point (destination point), and has multiple operation switches (not shown), such as various keys and buttons. The navigation ECU 33 controls the system to perform various operations based on the switch signals output when each switch is pressed. The control unit 34 may also have a touch panel located in front of the liquid crystal display 35. It may also have a microphone and a voice recognition device.
[0034] The LCD display 35 also displays map images including roads, traffic information, operation instructions, operation menus, key guidance, guidance information along the planned route, news, weather forecasts, time, emails, TV programs, etc. Alternatively, a HUD or HMD may be used instead of the LCD display 35.
[0035] Furthermore, speaker 36 outputs voice guidance that directs the driver along the guided route (planned route) based on instructions from the navigation ECU 33, as well as traffic information.
[0036] Furthermore, the DVD drive 37 is a drive capable of reading data recorded on recording media such as DVDs and CDs. Based on the read data, it performs functions such as playing music and videos, and updating the map information DB 45. Alternatively, a card slot for reading and writing memory cards may be provided instead of the DVD drive 37.
[0037] Furthermore, the communication module 38 is a communication device for receiving traffic information, probe information, weather information, traffic light illumination information, level crossing operation information, etc. transmitted from traffic information centers, such as VICS centers and probe centers, and examples include mobile phones and DCMs. It also includes vehicle-to-vehicle communication devices for communication between vehicles and vehicle-to-infrastructure communication devices for communication with roadside units. It is also used to send and receive route information and high-precision map information 15 discovered by the server device 4 to and from the server device 4.
[0038] Furthermore, the external camera 39 is composed of a camera using a solid-state image sensor such as a CCD, and is mounted above the front bumper of the vehicle, with its optical axis oriented at a predetermined angle downward from the horizontal. The external camera 39 captures images of the area in front of the vehicle when the vehicle is traveling in an automated driving section. The navigation ECU 33 performs image processing on the captured images to detect obstacles such as lane markings on the road the vehicle is traveling on and other vehicles in the vicinity. For example, if a new obstacle is detected on the current driving trajectory, a new driving trajectory is generated to avoid or follow the obstacle. Also, if an event that causes the vehicle to decelerate or stop, such as the vehicle ahead slowing down or driving slowly, is detected, the speed plan is modified. The external camera 39 may also be configured to be positioned at the rear or side of the vehicle, in addition to the front. Furthermore, instead of a camera, sensors such as millimeter-wave radar or laser sensors, or vehicle-to-vehicle communication or vehicle-to-infrastructure communication may be used as means of detecting obstacles.
[0039] Furthermore, the vehicle control ECU 40 is an electronic control unit that controls the vehicle equipped with the navigation device 1. The vehicle control ECU 40 is also connected to various drive units of the vehicle, such as the steering, brakes, and accelerator, and in this embodiment, it controls each drive unit to provide automatic driving assistance to the vehicle, especially after automatic driving assistance has been initiated in the vehicle. In addition, if the user overrides the automatic driving assistance, the ECU 40 detects that an override has occurred.
[0040] Here, after the vehicle starts driving, the navigation ECU 33 transmits various support information related to automated driving assistance generated by the navigation device 1 to the vehicle control ECU 40 via CAN. The vehicle control ECU 40 then uses the received support information to perform automated driving assistance after the vehicle starts driving. Examples of support information include the recommended driving trajectory for the vehicle and a speed plan indicating the vehicle speed during driving.
[0041] Next, the automatic driving support program executed by the CPU 51 in the navigation device 1 according to this embodiment having the above configuration will be described with reference to Figure 4. Figure 4 is a flowchart of the automatic driving support program according to this embodiment. Here, the automatic driving support program is executed after the vehicle's ACC power supply (accessory power supply) is turned ON and the vehicle starts driving with automatic driving support, and is a program that performs assisted driving with automatic driving support according to the support information generated by the navigation device 1. Furthermore, the programs shown in the flowcharts in Figures 4, 7, 10, 12, and 13 below are stored in the RAM 52 and ROM 53 of the navigation device 1 and are executed by the CPU 51.
[0042] First, in step 1 (hereinafter abbreviated as S) of the autonomous driving support program, the CPU 51 acquires the route that the vehicle is scheduled to travel (hereinafter referred to as the planned route). The vehicle's planned route is, for example, the recommended route to the destination found by the server device 4 when the user sets the destination. If no destination is set, the route taken by following the road from the vehicle's current location may be used as the planned route.
[0043] Furthermore, when searching for a recommended route, the CPU 51 first sends a route search request to the server device 4. The route search request includes a terminal ID that identifies the navigation device 1 that sent the route search request, and information that identifies the starting point (e.g., the vehicle's current location) and the destination. Note that information that identifies the destination is not necessarily required when performing a re-search. Subsequently, the CPU 51 receives the search route information sent from the server device 4 in response to the route search request. The search route information is information that identifies the recommended route (center route) from the starting point to the destination, which the server device 4 has searched using the latest version of map information based on the transmitted route search request (e.g., a list of links included in the recommended route). For example, it may be searched using the well-known Dijkstra's algorithm.
[0044] Furthermore, when searching for the recommended route described above, it is desirable to select a recommended parking spot (parking space) at the destination parking lot and then search for the recommended route to the selected parking spot. In other words, it is desirable that the searched recommended route include not only the route to the parking lot but also the route showing the movement of the car within the parking lot. In addition, when selecting a parking spot, it is desirable to select a parking spot that minimizes the burden on the user by considering not only the movement of the vehicle to the parking spot but also the walking distance after parking the vehicle.
[0045] Next, in S2, the CPU 51 acquires high-precision map information 15 for a section within a predetermined distance from the vehicle's current position along the planned route acquired in S1. For example, the CPU 51 acquires high-precision map information 15 for the planned route included in the secondary mesh where the vehicle is currently located. However, the area for which high-precision map information 15 is acquired can be changed as appropriate; for example, high-precision map information 15 may be acquired for an area within 3 km of the vehicle's current position along the planned route. Alternatively, high-precision map information 15 may be acquired for the entire planned route.
[0046] Here, the high-precision map information 15 is divided into rectangular shapes (e.g., 500m x 1km) as shown in Figure 5 and stored in the high-precision map DB 13 of the server device 4. Therefore, for example, when the planned route 61 is acquired as shown in Figure 5, the high-precision map information 15 is acquired for areas 62-64 that include the planned route 61, which are located within a secondary mesh that includes the vehicle's current position. The high-precision map information 15 includes information such as the lane shape and width of the road and the markings drawn on the road (center line of the roadway, lane boundary line, outer line of the roadway, guide lines, traffic guide zones, etc.). It also includes information about intersections and railway crossings, and information about parking lots. More specifically, the information about intersections includes information about the shape of the intersection and features placed on the intersection, and "features placed on the intersection" include road markings (stop lines, pedestrian crossings, etc.) drawn on the road surface of the intersection, as well as structures such as poles and traffic lights. The information about railway crossings includes information about the shape of the railway crossing and the position of the railway crossing barriers. The information also includes identifying areas where vehicles should avoid stopping, other than intersections and railway crossings. Examples include road signs indicating no-stop zones and areas where trams pass.
[0047] Furthermore, while high-precision map information 15 is basically obtained from the server device 4, if high-precision map information 15 for an area is already stored in the cache 46, it is obtained from the cache 46. Also, the high-precision map information 15 obtained from the server device 4 is temporarily stored in the cache 46.
[0048] Subsequently, in S3, the CPU 51 executes the static driving trajectory generation process (Figure 7) described later. Here, the static driving trajectory generation process generates a static driving trajectory, which is the driving trajectory recommended for the vehicle to take on the roads included in the planned driving route, based on the vehicle's planned driving route and the high-precision map information 15 acquired in S2. In particular, the CPU 51 identifies the driving trajectory recommended for the vehicle on a lane-by-lane basis included in the planned driving route as the static driving trajectory. The static driving trajectory is generated for a section from the vehicle's current position to a predetermined distance ahead in the direction of travel (for example, within the secondary mesh where the vehicle is currently located, or the entire section to the destination), as described later. The predetermined distance can be changed as appropriate, but the static driving trajectory is generated for an area that includes at least the area outside the range in which the road conditions around the vehicle can be detected by the external camera 39 or other sensors (detection range).
[0049] Next, in S4, the CPU 51 executes the static speed plan generation process (Figure 10), which will be described later. Here, the static speed plan generation process generates a vehicle speed plan (hereinafter referred to as the static speed plan) for when the vehicle travels along the static travel track generated in S3, based on the high-precision map information 15 acquired in S2. For example, it calculates the recommended vehicle speed when traveling along the static travel track by considering static information (information that does not change depending on the situation) such as speed limit information and speed change points on the planned travel route (e.g., intersections, curves, railroad crossings, pedestrian crossings, etc.).
[0050] The static speed plan generated in S4 is then stored in flash memory 54 or the like as support information for autonomous driving assistance. In addition, an acceleration plan showing the acceleration and deceleration of the vehicle necessary to realize the static speed plan generated in S4 may also be generated as support information for autonomous driving assistance.
[0051] Next, in S5, the CPU 51 performs image processing on the image captured by the external camera 39 to determine whether there are any factors in the surrounding road conditions, particularly around the vehicle itself, that could affect the vehicle's movement. Here, the "factors that could affect the vehicle's movement" to be determined in S5 are dynamic factors that change in real time, and static factors such as those based on road structure are excluded. For example, this includes other vehicles traveling or parked in front of the vehicle's direction of travel, parked vehicles, pedestrians located in front of the vehicle's direction of travel, and construction zones in front of the vehicle's direction of travel. On the other hand, intersections, curves, railway crossings, merging zones, lane reduction zones, etc., are excluded. Furthermore, even if other vehicles, pedestrians, or construction zones exist, they are excluded from "factors that could affect the vehicle's movement" if there is no risk of them overlapping with the vehicle's future trajectory (for example, if they are located far from the vehicle's future trajectory). In addition, instead of a camera, sensors such as millimeter-wave radar or laser sensors, or vehicle-to-vehicle communication or vehicle-to-infrastructure communication may be used as means to detect factors that could potentially affect the vehicle's movement.
[0052] Alternatively, for example, the real-time location of each vehicle traveling on roads nationwide may be managed by an external server, and the CPU 51 may obtain the locations of other vehicles located around its own vehicle from the external server and perform the determination process in S5.
[0053] If it is determined that there are factors in the vicinity of the vehicle that could affect its operation (S5: YES), the process proceeds to S6. Conversely, if it is determined that there are no factors in the vicinity of the vehicle that could affect its operation (S5: NO), the process proceeds to S8.
[0054] In S6, the CPU 51 generates a new dynamic trajectory to avoid or follow the "factors affecting the vehicle's movement" detected in S5, and return to the static trajectory. The dynamic trajectory is generated for the section containing the "factors affecting the vehicle's movement." The length of the section varies depending on the nature of the factor. For example, if the "factor affecting the vehicle's movement" is another vehicle (forward vehicle) traveling in front of the vehicle, the dynamic trajectory 70 is generated as an avoidance trajectory, which is the trajectory from changing lanes to the right to overtake the forward vehicle 69, and then changing lanes to the left to return to the original lane, as shown in Figure 6. Alternatively, a follow trajectory may be generated as the dynamic trajectory, which is the trajectory of following the forward vehicle 69 at a predetermined distance behind (or traveling parallel to) the forward vehicle 69 without overtaking it.
[0055] To explain the calculation method of the dynamic driving trajectory 70 shown in Figure 6 as an example, the CPU 51 first starts turning the steering wheel to move to the right lane and calculates the first trajectory L1 necessary for the steering wheel to return to the straight-ahead position. The first trajectory L1 is calculated by calculating the lateral acceleration (lateral G) that occurs when changing lanes based on the vehicle's current speed, and using a clothoid curve, it calculates a trajectory that is as smooth as possible and minimizes the distance required for the lane change, provided that the lateral G does not exceed an upper limit (e.g., 0.2G) that does not interfere with the automated driving assistance and does not cause discomfort to the vehicle's occupants. It is also a condition that an appropriate following distance D or more is maintained between the vehicle and the vehicle in front 69. Next, a second trajectory L2 is calculated, which involves driving in the right lane at the speed limit to overtake vehicle 69 and maintaining an appropriate following distance D or more between the two vehicles. The second trajectory L2 is basically a straight line, and its length is calculated based on the speed of vehicle 69 and the road's speed limit. Next, the system calculates a third trajectory L3 necessary to initiate the steering turn, return to the left lane, and return the steering wheel to the straight-ahead position. The third trajectory L3 is calculated by determining the lateral acceleration (lateral G) that occurs when changing lanes based on the vehicle's current speed. The system uses a clothoid curve to calculate a trajectory that is as smooth as possible and minimizes the distance required for the lane change, provided that the lateral G does not exceed an upper limit (e.g., 0.2G) that does not interfere with the automated driving assistance system or cause discomfort to the vehicle's occupants. The system also requires that an appropriate following distance D or greater be maintained between the vehicle and the vehicle 69 in front. Furthermore, since the dynamic driving trajectory is generated based on the road conditions around the vehicle acquired by the external camera 39 and other sensors, the area in which the dynamic driving trajectory is generated will be at least within the range (detection range) in which the road conditions around the vehicle can be detected by the external camera 39 and other sensors.
[0056] Next, in S7, the CPU 51 reflects the newly generated dynamic trajectory in S6 onto the static trajectory generated in S3. Specifically, it calculates the cost of both the static and dynamic trajectories from the vehicle's current position to the end of the section containing "factors affecting the vehicle's movement," and selects the trajectory with the lowest cost. As a result, a portion of the static trajectory will be replaced with the dynamic trajectory as needed. However, in some situations, the dynamic trajectory may not be replaced, meaning that even if the dynamic trajectory is reflected, it will not change from the static trajectory generated in S3. Furthermore, if the dynamic and static trajectories are the same, the static trajectory generated in S3 may not change even if replacement occurs. The processes in S5 to S11 are repeatedly executed at regular intervals (e.g., 200ms) until the vehicle ends its automated driving. Therefore, the vehicle's future trajectory will be updated as needed to reflect the latest trajectory in accordance with the current surrounding conditions of the vehicle.
[0057] Next, in S8, the CPU 51 executes the dynamic speed plan generation process (Figures 12 and 13) described below. Here, the dynamic speed plan generation process generates a vehicle speed plan (hereinafter referred to as the dynamic speed plan) for when the vehicle travels along the static travel trajectory generated in S3 (or the trajectory after the dynamic travel trajectory has been reflected in S7, if applicable) based on the road conditions around the vehicle acquired by the external camera 39 and other sensors. For example, it calculates the recommended vehicle speed when traveling along the static travel trajectory (or the trajectory after the dynamic travel trajectory has been reflected in S7) by considering dynamic information (information that changes depending on the situation) such as other vehicles traveling around the vehicle, the lighting status of traffic lights, and the operating status of railroad crossings. The dynamic speed plan is generated based on the static speed plan generated in S4, and the static speed plan is modified as necessary before being output as the dynamic speed plan. Therefore, if there is no need to modify the speed plan, the static speed plan may be output as is as the dynamic speed plan.
[0058] Subsequently, in S9, the CPU 51 updates the vehicle's future speed plan to the latest dynamic speed plan generated in S8. The vehicle's future speed plan is stored in flash memory 54 or the like as support information used for automated driving assistance. The processes in S5 to S11 are repeatedly executed at regular intervals (e.g., 200ms) until the vehicle ends automated driving. Therefore, the vehicle's future speed plan is updated as needed to reflect the latest speed plan according to the current surrounding conditions of the vehicle. In addition, a plan of acceleration indicating the acceleration and deceleration of the vehicle necessary to realize the vehicle's future speed plan updated in S9 may also be generated as support information used for automated driving assistance.
[0059] Next, in S10, the CPU 51 calculates the control amounts necessary for the vehicle to travel at the speed according to the latest speed plan updated in S9, based on the static driving trajectory generated in S3 (or the trajectory after the dynamic driving trajectory has been reflected in S7). Specifically, the control amounts for the accelerator, brake, gear, and steering are calculated, respectively. Note that the processing in S10 and S11 may be performed by the vehicle control ECU 40, which controls the vehicle, rather than the navigation device 1.
[0060] Subsequently, in S11, the CPU 51 reflects the control values calculated in S10. Specifically, it transmits the calculated control values to the vehicle control ECU 40 via CAN. The vehicle control ECU 40 performs vehicle control of the accelerator, brakes, gears, and steering based on the received control values. As a result, it becomes possible to provide driving support control that drives the vehicle at a speed according to the latest speed plan updated in S9, along the static driving trajectory generated in S3 (or the trajectory after the dynamic driving trajectory has been reflected in S7).
[0061] Next, in S12, the CPU 51 determines whether the vehicle has traveled a certain distance since the static track was generated in S3. For example, the certain distance is 1 km.
[0062] Then, if it is determined that the vehicle has traveled a certain distance since the static trajectory was generated in S3 (S12: YES), the process returns to S1. Subsequently, the static trajectory is generated again for a section within a predetermined distance from the vehicle's current position along the planned route (S1-S4). In this embodiment, the static trajectory is repeatedly generated for a section within a predetermined distance from the vehicle's current position along the planned route each time the vehicle travels a certain distance (e.g., 1 km). However, if the distance to the destination is short, the static trajectory to the destination may be generated all at once at the start of travel.
[0063] On the other hand, if it is determined that the vehicle has not traveled a certain distance since the static driving trajectory was generated in S3 (S12: NO), it is determined whether or not to terminate the assisted driving by the automated driving support system (S13). In addition to arriving at the destination, the assisted driving by the automated driving support system may be terminated if the user intentionally disables (overrides) the assisted driving by operating the control panel on the vehicle, or by operating the steering wheel or brakes.
[0064] If it is determined that the assisted driving by the autonomous driving support system should be terminated (S13: YES), the autonomous driving support program is terminated. Conversely, if it is determined that the assisted driving by the autonomous driving support system should be continued (S13: NO), the process returns to S5.
[0065] Next, the subprocessing of the static trajectory generation process executed in S3 will be explained with reference to Figure 7. Figure 7 is a flowchart of the subprocessing program for the static trajectory generation process.
[0066] First, in S21, the CPU 51 acquires the current position of the vehicle detected by the current position detection unit 31. It is desirable to determine the vehicle's current position in detail using, for example, high-precision GPS information or high-precision location technology. Here, high-precision location technology is a technology that detects white lines and road paint information captured from a camera installed on the vehicle using image recognition, and further compares the detected white lines and road paint information with, for example, high-precision map information 15, thereby enabling the detection of the vehicle's lane and its position with high precision. Furthermore, if the vehicle is traveling on a road with multiple lanes, the lane the vehicle is traveling in is also identified.
[0067] Next, in S22, the CPU 51 acquires lane shape, lane marking information, intersection information, etc., for the section (for example, within the secondary mesh including the vehicle's current position) in which a static driving trajectory is generated in front of the vehicle in the direction of travel, based on the high-precision map information 15 acquired in S2. The lane shape and lane marking information acquired in S22 includes the number of lanes, lane width, where and how the number of lanes increases or decreases if there is an increase or decrease, the traffic divisions for each lane in the direction of travel, and information that identifies the connections between roads (specifically, the correspondence between the lanes included in the road before passing a branching point and the lanes included in the road after passing a branching point). Furthermore, the intersection information includes not only the shape of the intersection but also information on the position and shape of features placed on the intersection. In addition, "features placed on the intersection" include road markings drawn on the road surface such as pedestrian crossings, stop lines, guidance lines (guide white lines), and diamond-shaped traffic guides (diamond marks) placed in the center of the intersection, as well as structures such as poles and traffic lights.
[0068] Next, in S23, the CPU 51 constructs a lane network for the section in front of the vehicle's direction of travel where a static driving trajectory is generated, based on the lane shape and lane marking information acquired in S22. Here, the lane network is a network that shows the lane changes that the vehicle can choose.
[0069] Here, as an example of constructing a lane network in S23, we will explain using the example of a vehicle traveling along the planned route shown in Figure 8. The planned route shown in Figure 8 is a route in which the vehicle travels straight from its current position, turns right at the next intersection 71, turns right again at the next intersection 72, and turns left at the next intersection 73. In the planned route shown in Figure 8, for example, when turning right at intersection 71, it is possible to enter either the right lane or the left lane. However, since it is necessary to turn right at the next intersection 72, it is necessary to move to the rightmost lane when entering intersection 72. Similarly, when turning right at intersection 72, it is possible to enter either the right lane or the left lane. However, since it is necessary to turn left at the next intersection 73, it is necessary to move to the leftmost lane when entering intersection 73. Figure 9 shows a lane network constructed for sections where such lane changes are possible.
[0070] As shown in Figure 9, the lane network divides the section that generates the static driving trajectory in front of the vehicle's direction of travel into multiple sections (groups). Specifically, the boundaries are defined by the entry point of an intersection, the exit point of an intersection, and the points where lanes increase or decrease. A node point (hereinafter referred to as a lane node) 75 is set for each lane located at the boundary of each divided section. Furthermore, links (hereinafter referred to as lane links) 76 are set to connect the lane nodes 75.
[0071] Furthermore, the lane network, particularly through the connection of lane nodes and lane links at junctions, includes information that identifies the correspondence between lanes on the road before passing a junction and lanes on the road after passing a junction, that is, the lanes that vehicles can move to after passing a junction relative to the lanes before passing a junction. Specifically, it indicates that vehicles can move between lanes corresponding to lane nodes connected by lane links, among the lane nodes set on the road before passing a junction and the lane nodes set on the road after passing a junction.
[0072] To generate such a lane network, the high-precision map information 15 stores lane flags for each road connected to a branching point, indicating the lane correspondence for each combination of roads entering and exiting the branching point. When the CPU 51 constructs the lane network in S23, it refers to the lane flags to form connections between lane nodes and lane links at the branching point.
[0073] Furthermore, instead of the lane network described above being constructed by the navigation device 1 in S23, the server device 4 may possess a lane network that has been constructed in advance for the entire country, and in S23, the lane network for the relevant section may be obtained from the server device 4.
[0074] Next, in S24, the CPU 51 sets a starting lane (departure node) for the lane network constructed in S23, at the lane node located at the starting point of the lane network, where the vehicle will begin to move, and sets a target lane (destination node) for the lane node located at the end point of the lane network, where the vehicle will aim to move. In particular, if the end point of the lane network is the destination, the target lane is set at the entry point to the destination (a point on the road close to the entrance to the destination). If the starting point of the lane network is a road with multiple lanes in one direction, the lane node corresponding to the lane in which the vehicle is currently located becomes the starting lane. On the other hand, if the end point of the lane network is a road with multiple lanes in one direction, and in particular if the end point of the lane network is the destination, the lane node corresponding to the lane in the direction of the destination (the leftmost lane if the destination is on the left side relative to the direction of travel, and the rightmost lane if the destination is on the right side relative to the direction of travel) becomes the target lane. Otherwise, the lane node corresponding to the leftmost lane (in the case of left-hand traffic) becomes the target lane.
[0075] Subsequently, in S25, the CPU 51 refers to the lane network constructed in S23 and searches for a route that continuously connects the starting lane to the target lane, deriving multiple candidate routes (hereinafter referred to as candidate routes) for lane movement patterns. For example, Dijkstra's algorithm is used to search for a route from the target lane side. However, other search methods besides Dijkstra's algorithm may be used as long as a route that continuously connects the starting lane to the target lane can be found. One method for searching for candidate routes is to derive a route that continuously connects the starting lane to the target lane (hereinafter referred to as a reference route), and then derive other routes that continuously connect the starting lane to the target lane based on the reference route. For example, by following the reference route from the starting lane side and reaching a section where lane changes are possible or a branching point, a new route different from the reference route is branched off to generate a new route. The reference route and the other derived routes are then combined to form the candidate routes.
[0076] Next, in S26, the CPU 51 sets the specific location for the lane change (hereinafter referred to as the lane change location) for the candidate route in which the lane change will occur. The lane change location is set for each candidate route to the location that is estimated to result in the lowest cost in the cost calculation (S28) described later. Specifically, if the lane change is due to passing a branching point, the recommended lane change location is set a predetermined distance before the target branching point, and the lane change location is set as close as possible to the recommended lane change location.
[0077] Next, in S27, the CPU 51 adds lane nodes 75 to the candidate route generated in S25 at the lane change locations set in S26. Here, the lane change locations include the lane change start point where the lane change begins and the lane change end point where the lane change ends. In S27, lane nodes 75 are added to both the lane change start point and the lane change end point. In addition, lane links 76 connecting the lane nodes 75 are also added along with the addition of lane nodes. Furthermore, lane links other than those at lane change locations are basically straight lines (shape along the lanes). Note that if the candidate route generated in S25 is a route that does not involve any lane changes, the processing in S27 may be omitted.
[0078] Next, in S28, the CPU 51 calculates the total cost for each candidate route, taking into account the set lane change positions, for the candidate routes generated in S25, for which lane change positions were set in S26, and for which lane nodes and lane links were added in S27. Then, it compares the total cost values for each route and identifies the candidate route with the smallest total cost value as the recommended lane change mode for the vehicle when it is moving.
[0079] Here, the cost consists of the sum of the 'lane cost' and the 'lane change position cost'. In S28, the total value of all lane costs and lane change position costs is calculated and compared for each candidate route.
[0080] First, let's explain the "lane cost." A lane cost is assigned to each lane link 76. The lane cost assigned to each lane link 76 is based on the length of each lane link 76 or the time required to travel through it. In this embodiment, the length of the lane link (in meters) is used as the base value for the lane cost. For lane links involving lane changes, a predetermined cost (e.g., 50) is added to the base value for each lane change. Furthermore, for lane links on roads with multiple lanes, a coefficient is multiplied by the base value depending on the position of the lane being traveled. Specifically, lane links traveling in the overtaking lane are adjusted to have a higher lane cost than lane links traveling in the driving lane. As a result, longer routes traveling in the overtaking lane will result in a larger total lane cost, making them less likely to be selected as a recommended lane movement pattern, and thus routes with shorter distances traveling in the overtaking lane will be preferentially selected as the recommended lane movement pattern. Furthermore, for roads without designated driving lanes or passing lanes, in countries with left-hand traffic, the lane cost will be adjusted so that the lane link traveling in the right-hand lane is higher. Additionally, lane links 76 within the same section are generally considered to have the same length (i.e., the increase in distance due to lane changes is ignored). Also, the length of lane links 76 within an intersection is considered to be 0 or a fixed value. Then, the sum of the lane costs of all 76 lane links included in the candidate route is calculated as the lane cost of that candidate route.
[0081] Next, regarding the "lane change position cost," first, if the candidate route for which the cost is to be calculated includes a lane change to pass through a branching point, the CPU 51 sets a recommended lane change position a predetermined distance before the target branching point. The predetermined distance can be set appropriately based on the road type, for example, but for expressways, it is set to 300m. Then, the distance from the lane change position set in S26 to the recommended lane change position is calculated, and the longer the calculated distance, the higher the lane change position cost is calculated. For candidate routes with multiple lane change positions, the lane change position cost is calculated for each lane change position and the total value is calculated. As a result, the closer the lane change position set in S26 is to the recommended lane change position for a candidate route, the lower the lane change position cost will be, and it will be selected as a preferred lane change mode. Also, the fewer the number of lane changes, the fewer the total cost will be, and it will also be selected as a preferred lane change mode.
[0082] Next, in S29, the CPU 51 calculates a recommended driving trajectory for the section where the lane change position was set in S26, in which case the vehicle would change lanes according to the candidate route selected in S28 (hereinafter referred to as the recommended route). Note that if the recommended route selected in S28 is a route that does not involve any lane changes, the process in S29 may be omitted.
[0083] Specifically, the CPU 51 calculates the driving trajectory using map information of the lane change location set in S26. For example, it calculates the lateral acceleration (lateral G) that occurs when the vehicle changes lanes from the vehicle's speed (which is the speed limit of the road) and the lane width, and calculates a trajectory that connects the lane change start point to the lane change end point as smoothly as possible using a clothoid curve, provided that the lateral G does not exceed an upper limit (e.g., 0.2G) that does not interfere with the automatic driving assistance and does not cause discomfort to the vehicle's occupants. The clothoid curve is the curve traced by the vehicle's trajectory when the vehicle is traveling at a constant speed and the steering wheel is turned at a constant angular velocity.
[0084] Subsequently, in S30, the CPU 51 generates specific driving trajectories for traveling along the recommended route derived in S25, except for the sections where the lane change positions are set. For example, when generating driving trajectories for right or left turns or lane changes at intersections, the CPU 51 calculates the lateral acceleration (lateral G) generated in the vehicle and calculates a trajectory that connects the points as smoothly as possible using a clothoid curve, provided that the lateral G does not exceed an upper limit (e.g., 0.2G) that does not interfere with the automatic driving assistance and does not cause discomfort to the vehicle's occupants. For sections that are neither lane change sections nor intersection sections, the trajectory passing through the center of the lane is set as the recommended driving trajectory for the vehicle. By combining this with the driving trajectory calculated in S29, a static driving trajectory is generated, which is the recommended driving trajectory for the vehicle on the roads included in the planned route.
[0085] The static driving trajectories generated in S29 and S30 are then stored in the flash memory 54 or the like as support information for automated driving assistance. The process then proceeds to S4, where various driving assistance functions are performed based on the generated static driving trajectories.
[0086] Next, the subprocessing of the static velocity plan generation process executed in S4 will be explained with reference to Figure 10. Figure 10 is a flowchart of the subprocessing program for the static velocity plan generation process.
[0087] First, in S31, the CPU 51 uses map information to obtain information about each road included in the vehicle's planned route, such as road shape, road type, lane width, presence or absence of a center line or median strip, and speed limit. The information obtained in S31 is static information that does not change depending on the situation. For roads where speed limit information cannot be obtained, the speed limit is determined based on the road type. For example, narrow streets are 30 km / h, general roads other than main roads are 40 km / h, main roads such as national highways are 60 km / h, and expressways are 100 km / h. The speed limit information may be obtained from high-precision map information 15 or from regular map information used for route searching.
[0088] Next, in S32, the CPU 51 uses the road information acquired in S31 to identify speed change points, which are points on the static driving track generated in S3 within the planned driving route where the vehicle's speed changes. Examples of speed change points include intersections, curves, railway crossings, and pedestrian crossings. If there are multiple speed change points on the planned driving route, the CPU 51 identifies all of them.
[0089] Next, in S33, the CPU 51 sets a recommended speed for passing through each speed change point identified in S32. For example, at a level crossing or an intersection with a stop line, the recommended speed is to first stop (0 km / h) and then proceed at a slow speed (e.g., 10 km / h). Also, at curves or intersections where the vehicle turns left or right, the recommended speed is one at which the lateral acceleration (lateral G) generated in the vehicle does not exceed an upper limit (e.g., 0.2 G) that does not interfere with the automatic driving assistance and does not cause discomfort to the vehicle's occupants. This is calculated based on factors such as the curvature of the curve and the shape of the intersection.
[0090] Next, in S34, the CPU 51 sets a recommended speed for sections that do not correspond to the speed change points identified in S32 (sections between speed change points, hereinafter referred to as "between speed change points"). Basically, it is set based on the road speed limit obtained in S31, and is set to the same speed as the road speed limit between speed change points. However, the recommended speed may be modified based on the lane width, and on roads with narrow lanes, it is desirable to set the recommended speed to a speed lower than the speed limit. Furthermore, it may be modified based on the presence or absence of a center line and median strip, and on roads without a center line or median strip, it is desirable to set the recommended speed to a speed lower than the speed limit.
[0091] Subsequently, in S35, the CPU 51 combines the recommended speeds at the speed change points set in S33 with the recommended speeds at other speed change points set in S34, and generates data showing the progression of the recommended speeds along the static track in the direction of the vehicle's movement as a vehicle speed plan. Furthermore, when generating the speed plan, the CPU 51 appropriately modifies the speed plan so that the speed changes between speed change points satisfy predetermined conditions, more specifically, so that the acceleration and deceleration of the vehicle traveling along the static track are below threshold values.
[0092] Here, Figure 11 shows an example of a vehicle speed plan generated in S35. As shown in Figure 11, in the speed plan, the recommended speeds other than speed change points are set based on the speed limit, lane width, etc. On the other hand, for speed change points such as curves and intersections, the recommended speed is lower than the recommended speed other than the speed change point. Furthermore, the recommended speed is modified so that the acceleration and deceleration of the vehicle traveling along a static driving trajectory are below the threshold. However, the recommended speed is basically only modified in the direction of decreasing, and the recommended speed is modified as little as possible within the range where the conditions are met. In addition, the thresholds for acceleration and deceleration are set as upper limits for acceleration and deceleration that do not hinder the vehicle's driving or automatic driving assistance, and do not cause discomfort to the vehicle's occupants. The thresholds for acceleration and deceleration may be different values. As a result, the recommended speed is modified as shown in Figure 11, and a speed plan is generated. Note that Figure 11 is an example of a driving plan generated on the premise that acceleration and deceleration are performed at fixed values (e.g., 0.2G) below the threshold.
[0093] The speed plan (static speed plan) generated in S35 is then stored in the flash memory 54 or the like as support information for automated driving assistance. In addition, an acceleration plan indicating the acceleration and deceleration of the vehicle necessary to realize the static speed plan generated in S35 may also be generated as support information for automated driving assistance.
[0094] Next, the subprocessing of the dynamic speed plan generation process executed in S8 will be explained based on Figures 12 and 13. Figures 12 and 13 are flowcharts of the subprocessing program for the dynamic speed plan generation process.
[0095] First, in S41, the CPU 51 acquires road information within a predetermined range in the direction of travel along the vehicle's planned route, based on the high-precision map information 15 acquired in S2. The predetermined range includes at least the range in which the road conditions around the vehicle can be detected by the external camera 39 and other sensors. In addition, if there are intersections or railway crossings among the road information to be acquired, information about those intersections and railway crossings is acquired. Information about intersections includes not only the shape of the intersection but also information about the position and shape of features placed on the intersection. Furthermore, "features placed on the intersection" include road markings painted on the road surface such as pedestrian crossings and stop lines. Information about railway crossings includes information about the shape of the railway crossing and the position of the railway crossing barrier.
[0096] Next, in S42, the CPU 51 performs image processing on the image captured by the external camera 39 to acquire the surrounding road conditions. Here, the road conditions acquired in S42 are dynamic factors that change in real time, such as other vehicles traveling or parked in front of the vehicle's direction of travel, parked vehicles, and pedestrians located in front of the vehicle's direction of travel. As a means of acquiring the surrounding road conditions, sensors such as millimeter-wave radar or laser sensors, or vehicle-to-vehicle communication or vehicle-to-infrastructure communication may be used instead of a camera. Furthermore, if there is a traffic light in the direction of travel of the vehicle, the status of the traffic light may be acquired, and if there is a level crossing in the direction of travel of the vehicle, the operation status of the level crossing may also be acquired as part of the surrounding road conditions. However, the status of the traffic light and the operation status of the level crossing may be acquired by communication from an external server.
[0097] Next, in S43, the CPU 51 determines, based on the road information acquired in S41, whether or not there is an area where the vehicle should avoid stopping if it were to stop, located a predetermined distance ahead from the vehicle's current position (hereinafter referred to as a "stopping discouraged area").
[0098] The details of the areas where stopping is not recommended are described below. In this embodiment, the areas where stopping is not recommended 80 are basically set for intersections and railway crossings. For example, as shown in Figure 14, for an intersection with a pedestrian crossing, the starting point S is set at a predetermined distance (e.g., 1m before) the pedestrian crossing 81 located before the intersection section where it intersects with the intersecting road, and the ending point E is set at a predetermined distance (e.g., 1m after) the pedestrian crossing 82 after passing the intersection section. The section from the starting point S to the ending point E is designated as the area where stopping is not recommended 80. If a stop line exists, the starting point S may be the location of the stop line. Furthermore, as shown in Figure 15, for intersections without pedestrian crossings, the starting point S is defined as a predetermined distance before the intersection section where the road intersects (for example, 1m before), and the ending point E is defined as a predetermined distance behind the intersection section (for example, 1m behind). The section from the starting point S to the ending point E is designated as a non-recommended stopping area 80. Furthermore, as shown in Figure 16, for level crossings, the starting point S is set at a predetermined distance before the barrier 83 located before the crossing section where the tracks intersect (for example, 1 m before), and the ending point E is set at a predetermined distance behind the barrier 84 after passing the crossing section (for example, 1 m behind), with the section from the starting point S to the ending point E being designated as the area where stopping is not recommended 80. If a stop line exists, the starting point S may be set to the position of the stop line. However, for level crossings, the speed plan always involves a temporary stop before the level crossing, regardless of whether or not an event occurs that would cause the vehicle to slow down or stop. Therefore, the area where stopping is not recommended 80 may be set for the level crossing at the time the vehicle makes a temporary stop before the level crossing or when the temporary stop is released.
[0099] Furthermore, the predetermined distance used as the determination condition in S43 is the range from the braking distance when the vehicle decelerates by emergency braking to the braking distance when decelerating by normal braking, assuming the vehicle starts decelerating from the current point in time. In other words, S43 determines whether there is an area where stopping is not recommended within at least a portion of the range in which the vehicle would stop if it were assumed that the vehicle started decelerating at the current point in time. Emergency braking is the maximum allowable deceleration, for example, 0.6G. Normal deceleration is the maximum deceleration within a range that does not cause discomfort to the vehicle's occupants, for example, 0.2G. For example, as shown in Figure 17, when the vehicle is traveling at 40 km / h, the braking distance when decelerating by emergency braking is 10.5m, and the braking distance when decelerating by normal braking is 31.5m. Therefore, S43 determines whether at least a portion of the area where stopping is not recommended is included within the range of 10.5m to 31.5m in front of the vehicle's current position.
[0100] Furthermore, in this embodiment, the process in S43 is performed on areas where stopping is not recommended, which are set for intersections and railway crossings. However, the process in S43 may also be performed on areas where stopping is not recommended, other than intersections and railway crossings. For example, this could include pedestrian crossings other than intersections, areas where stopping is prohibited by road signs, and areas where trams pass. The same applies to the processes after S43.
[0101] If it is determined that there is a no-parking zone at a predetermined distance ahead of the vehicle's current position (S43: YES), the process proceeds to S45. Conversely, if it is determined that there is no no-parking zone at a predetermined distance ahead of the vehicle's current position (S43: NO), the process proceeds to S44.
[0102] In S44, the CPU 51 determines that there is no possibility of the vehicle stopping in the area where stopping is not recommended at this time, and therefore does not determine the stopping position at this time. Instead, it generates a dynamic speed plan based on the static speed plan generated in S4, taking into account dynamic information (information that changes depending on the situation) such as other vehicles traveling around the vehicle. If there is no vehicle ahead and there is no problem with driving using the static speed plan generated in S4, the static speed plan will basically be output as the dynamic speed plan. Even if there is a vehicle ahead, if the speed of the vehicle ahead is faster than that of the vehicle ahead, or if an avoidance trajectory to avoid the vehicle ahead is generated as the dynamic trajectory in S6, there is no problem with driving using the static speed plan, so the static speed plan will basically be output as the dynamic speed plan. On the other hand, if there is a vehicle ahead and the speed of the vehicle ahead is slower than that of the vehicle ahead, and a follow trajectory to follow the vehicle ahead is generated as the dynamic trajectory in S6, then a speed plan for following the vehicle ahead will be output as the dynamic speed plan.
[0103] Here, the speed plan for following the vehicle ahead is a speed plan that maintains an appropriate distance from the vehicle ahead while traveling at the same speed as the vehicle ahead. The appropriate distance can be set as appropriate considering the speed of the vehicle ahead, the type of road being traveled on, the traffic congestion, etc., but for example, an appropriate distance is considered to be a passing interval of 3 seconds and at least 5m. As an example, if the speed of the vehicle ahead is 40km / h, the appropriate distance would be 33.3m, and the dynamic speed plan will be output to travel at 40km / h 33.3m behind the vehicle ahead.
[0104] Meanwhile, in S45, the CPU 51 determines whether or not there is a vehicle ahead between the vehicle's current position and the point where it passes the area where parking is not recommended, based on the detection results obtained in S42 from the external camera 39 and other sensors that detect the road conditions around the vehicle. The "vehicle ahead" is defined as another vehicle traveling in the same lane as the vehicle and traveling in the closest position ahead of the vehicle. The point where it passes the area where parking is not recommended is set to a position that is a distance from the end point E of the area where parking is not recommended by the vehicle itself plus the length of the vehicle and an appropriate distance between vehicles when stopped (for example, 4m), as shown in Figure 18.
[0105] If it is determined that there is a vehicle ahead between the vehicle's current position and the point where it will pass the area where stopping is not recommended (S45: YES), the process proceeds to S46. Conversely, if it is determined that there is no vehicle ahead between the vehicle's current position and the point where it will pass the area where stopping is not recommended (S45: NO), the process proceeds to S44. In S44, there is no vehicle ahead that would cause the vehicle to decelerate or stop, and there is no impediment to driving with the static speed plan, so the stopping position is not determined at this point, and the static speed plan is basically output as the dynamic speed plan. However, if there is an intersection or level crossing ahead in the direction of travel of the vehicle and it is determined that stopping is necessary based on the signal status and level crossing operation status obtained in S42, a speed plan for stopping before the intersection or level crossing will be generated.
[0106] In S46, the CPU 51 determines whether the area where stopping is not recommended, which was determined to be a predetermined distance ahead in S43, is an area where stopping is not recommended for a level crossing as shown in Figure 16.
[0107] Then, if the area where stopping is not recommended, which is determined to be a predetermined distance ahead in S43, is determined to be an area where stopping is not recommended, as shown in Figure 16 (S46: YES), the process proceeds to S47. On the other hand, if the area where stopping is not recommended, which is determined to be a predetermined distance ahead in S43, is determined to be an area where stopping is not recommended, as shown in Figures 14 and 15 (S46: NO), the process proceeds to S48.
[0108] In S47, the CPU 51 determines that the stopping position for the vehicle is before the level crossing (or the position of the stop line if there is one) which is determined to be a predetermined distance ahead, and generates a dynamic speed plan that stops at the stopping position. In addition, the static speed plan generated in S4 also has the position before the level crossing as the stopping position, so the speed plan basically follows the static speed plan until the vehicle stops, and is then modified to a plan that continues to stop. The dynamic speed plan generation processing program will be executed repeatedly at regular intervals (for example, 200ms) until the vehicle ends automatic driving, but the vehicle will continue to stop until there is no vehicle ahead before passing the area where stopping is not recommended (until S45: NO is determined).
[0109] Meanwhile, in S48, the CPU 51 acquires the status of the vehicle ahead based on the detection results obtained in S42 from the external camera 39 and other sensors that detect the road conditions around the vehicle. Specifically, it acquires the current position of the vehicle ahead (which may be its relative position to the vehicle itself), its speed, its acceleration (deceleration) degree, and whether or not there is a vehicle further ahead (hereinafter referred to as the vehicle two positions ahead). The status of the vehicle ahead may also be acquired from the vehicle ahead itself via communication.
[0110] Subsequently, in S49, the CPU 51 determines, based on the state of the vehicle ahead acquired in S48, whether or not the vehicle ahead may not pass through the area where stopping is discouraged, that is, whether or not the vehicle ahead may stop before passing through the area where stopping is discouraged. It is desirable to consider the surrounding road conditions (e.g., the state of traffic lights) acquired in S42 in addition to the state of the vehicle ahead when making this determination. Not passing through the area where stopping is discouraged means that the vehicle ahead stops before the point where it passes through the area where stopping is discouraged (Figure 18). Also, if the vehicle ahead has already stopped before the point where it passes through the area where stopping is discouraged, the determination is YES.
[0111] Furthermore, the determination in S49 is made by using a combination of multiple factors, such as the vehicle speed of the vehicle ahead, the degree of acceleration (deceleration), and the presence of the vehicle two vehicles ahead. Specifically, examples of cases in which it is determined that the vehicle ahead may not pass through the area where stopping is not recommended include the following (A) to (C). (A) When the speed of the vehicle ahead is clearly slower than the road's speed limit (for example, 10 km / h or less). (B) When the vehicle in front is slowing down. (C) If there is a vehicle two vehicles ahead of the train between the point where the train passes the area where stopping is not recommended. You may determine that the vehicle ahead may not pass through the area where stopping is not recommended if any one of the above conditions (A) to (C) is met, or you may determine that the vehicle ahead may not pass through the area where stopping is not recommended if multiple of the above conditions (A) to (C) are met.
[0112] Furthermore, the presence of a vehicle ahead, which was determined in S49 to potentially not pass through the area where stopping is discouraged, corresponds to an event (deceleration-causing event) that causes the vehicle to slow down or stop at the intersection and its surroundings. However, if there is a vehicle two positions ahead, it is preferable to consider the vehicle two positions ahead as the deceleration-causing event. As described later, by considering the vehicle two positions ahead as the deceleration-causing event when there is a vehicle two positions ahead, the stopping position can be determined at an earlier timing than when the vehicle ahead is considered the deceleration-causing event (S56-S67). As a result, it becomes possible to more reliably avoid stopping the vehicle in the area where stopping is discouraged (especially pedestrian crossings and intersections within the area where stopping is discouraged).
[0113] If it is determined that the vehicle ahead may not pass through the area where stopping is not recommended, that is, that the vehicle ahead may stop before passing through the area where stopping is not recommended (S49: YES), the process proceeds to S50. If it is determined that the vehicle ahead may not pass through the area where stopping is not recommended, the vehicle will need to stop at the intersection. Therefore, in the processes from S50 onward, the stopping position for the vehicle at the intersection is determined by considering the vehicle's driving status, the status of the vehicle ahead (or the vehicle two positions ahead, if there is one), and the area where stopping is not recommended.
[0114] On the other hand, if it is determined that the vehicle ahead will pass through an area where stopping is not recommended (S49: NO), the process proceeds to S44. In S44, even if the vehicle ahead becomes the reason for the vehicle to stop in the future, stopping in the area where stopping is not recommended can be avoided, so the stopping position is not determined at this point. Instead, a dynamic speed plan is generated based on the static speed plan generated in S4, taking into account dynamic information (information that changes depending on the situation) such as other vehicles traveling around the vehicle. Basically, the speed plan for following the vehicle ahead will be output as the dynamic speed plan. However, if the speed of the vehicle ahead is faster than the speed of the vehicle traveling according to the static speed plan, the static speed plan generated in S4 may be output as the dynamic speed plan instead of the speed plan for following the vehicle. Also, if it is determined that stopping is necessary based on the traffic light status obtained in S42, a speed plan for stopping before the intersection will be generated.
[0115] Next, in S50, the CPU 51 determines whether or not there is a vehicle two vehicles ahead of the vehicle in front, based on the detection results obtained in S42 from the external camera 39 and other sensors that detect the road conditions around the vehicle. The range in which a vehicle two vehicles ahead can be detected is limited to the range (detection range) in which the external camera 39 and other sensors can detect the road conditions around the vehicle. However, if, for example, the detection results, in which the vehicle in front is the primary detector, can be obtained from the vehicle in front via communication, the range in which a vehicle two vehicles ahead can be detected can be made wider. Alternatively, instead of directly detecting a vehicle two vehicles ahead, the presence of a vehicle two vehicles ahead may be determined from the behavior of the vehicle in front.
[0116] If it is determined that there is a vehicle two cars ahead (S50: YES), the process proceeds to S56. Conversely, if it is determined that there is no vehicle two cars ahead (S50: NO), the process proceeds to S51.
[0117] In S51, the CPU 51 calculates the stopping position assuming the vehicle has come to a stop due to emergency braking (0.6G) from the current point in time. As shown in Figure 17, for example, if the vehicle is traveling at 40 km / h, the stopping position after deceleration due to emergency braking will be 10.5 m ahead of the current position.
[0118] Subsequently, in S52, the CPU 51 determines, based on the stopping position calculated in S51, whether or not it can stop before the area where stopping is not recommended, assuming that the vehicle is stopped by emergency braking (0.6G) from the current point in time.
[0119] Then, assuming that the vehicle were to stop suddenly (0.6G) from the current point in time, if it is determined that it could stop before the area where stopping is not recommended (S52: YES), the process proceeds to S53. On the other hand, if it is determined that even if the vehicle were to stop suddenly (0.6G) from the current point in time, it would not be able to stop before the area where stopping is not recommended (S52: NO), the process proceeds to S54.
[0120] In S53, as shown in Figure 19, the CPU 51 determines the vehicle's stopping position to be before the area 80 where stopping is not recommended (preferably at the stop line if there is one), and generates a dynamic speed plan to stop at that position. Furthermore, the plan then continues to stop. The dynamic speed plan generation program is executed repeatedly at regular intervals (e.g., 200ms) until the vehicle ends its automatic driving, but stopping will continue until there are no vehicles ahead of the vehicle before passing the area where stopping is not recommended (until S45: NO is determined). In other words, in this embodiment, if the vehicle can stop before the area where stopping is not recommended, the position before the area where stopping is not recommended will be given the highest priority and determined as the stopping position.
[0121] Meanwhile, in S54, the CPU 51 extracts potential parking locations within the non-recommended parking area where the vehicle can park. Specifically, it extracts potential parking locations within the non-recommended parking area, excluding intersections and pedestrian crossings where the vehicle overlaps with intersecting roads, where there is enough space for the vehicle to park. For example, in the example shown in Figure 20, there is an area 86 between the intersection 85 and the pedestrian crossing 81 that is longer than the length of the vehicle, and there is an area 87 between the intersection 85 and the pedestrian crossing 82 that is longer than the length of the vehicle. Therefore, areas 86 and 87 are extracted as potential parking locations.
[0122] Subsequently, in S55, the CPU 51 determines a stopping position from among the candidate stopping positions extracted in S54, based on the vehicle's driving status and the status of the vehicle ahead. In S55, in order to avoid the vehicle stopping within the intersection section, if it is possible to stop at a candidate stopping position before the intersection section (area 86 in Figure 20), the CPU prioritizes this candidate stopping position and determines it as the stopping position. However, if it is not possible to stop at a candidate stopping position before the intersection section even with deceleration by emergency braking (0.6G), the stopping position may be one of the candidate stopping positions after passing the intersection section (area 87 in Figure 20). Then, as shown in Figure 21, after the vehicle's stopping position is determined within the area 80 where stopping is not recommended, a dynamic speed plan is generated for stopping at the stopping position. Furthermore, a plan for continuing to stop is then generated. The dynamic speed plan generation processing program will be executed repeatedly at regular intervals (e.g., 200ms) until the vehicle ends its autonomous driving, but the vehicle will remain stopped until there are no vehicles ahead of it before passing the area where stopping is not recommended (until S45: NO is determined).
[0123] On the other hand, in S56, which is executed when it is determined that there is a vehicle two vehicles ahead (S50: YES), the CPU 51 calculates the stopping position assuming that the vehicle has come to a stop with emergency braking (0.6G) from the current point in time. The details are the same as in S51, so they are omitted here.
[0124] Subsequently, in S57, the CPU 51 determines, based on the stopping position calculated in S56, whether or not the vehicle can stop before the area where stopping is not recommended, assuming that it were to stop suddenly (0.6G) from the current point in time.
[0125] Then, assuming that the vehicle were to stop suddenly (0.6G) from the current point in time, if it is determined that it could stop before the area where stopping is not recommended (S57: YES), the process proceeds to S58. On the other hand, if it is determined that even if the vehicle were to stop suddenly (0.6G) from the current point in time, it would not be able to stop before the area where stopping is not recommended (S57: NO), the process proceeds to S59.
[0126] In S58, as shown in Figure 19, the CPU 51 determines the vehicle's stopping position to be before the area 80 where stopping is not recommended (preferably at the stop line if there is one), and generates a dynamic speed plan to stop at that position. Furthermore, the plan then continues to stop. The dynamic speed plan generation program is executed repeatedly at regular intervals (e.g., 200ms) until the vehicle ends its automatic driving, but stopping will continue until there are no vehicles ahead of the vehicle before passing the area where stopping is not recommended (until S45: NO is determined). In other words, in this embodiment, if the vehicle can stop before the area where stopping is not recommended, the position before the area where stopping is not recommended will be given the highest priority and determined as the stopping position.
[0127] Meanwhile, in S59, the CPU 51 acquires the status of the vehicle two positions ahead based on the detection results obtained in S42 from the external camera 39 and other sensors that detect road conditions around the vehicle. Specifically, the current position of the vehicle two positions ahead (which may be its relative position to the current vehicle), vehicle speed, and acceleration (deceleration) degree are acquired. The status of the vehicle two positions ahead may also be acquired via communication from the vehicle ahead or the vehicle two positions ahead itself.
[0128] Subsequently, in S60, CPU51 calculates the stopping position assuming that the vehicle two positions ahead has come to a stop due to sudden braking (0.6G). The details are the same as in S51, so they are omitted here.
[0129] Next, in S61, the CPU 51 calculates the stopping position of the vehicle ahead, assuming that the vehicle ahead has come to a stop due to sudden braking (0.6G) from the current point in time, based on the stopping position of the vehicle two positions ahead calculated in S60. Specifically, as shown in Figure 22, the stopping position of the vehicle ahead is calculated to be a position separated from the stopping position of the vehicle two positions ahead by an appropriate distance (e.g., 4m) at the time of stopping. Note that, assuming that the vehicle two positions ahead has started to decelerate at this point, the range in which the vehicle can stop is from the stopping position calculated in S56 to the stopping position of the vehicle ahead calculated in S61. Therefore, it is necessary to determine the stopping position of the vehicle within that range.
[0130] Next, in S62, the CPU 51 extracts candidate stopping positions for the vehicle between the intersection and the stopping position of the vehicle ahead calculated in S61. Specifically, it extracts candidate stopping positions for the vehicle between the intersection and the stopping position of the vehicle ahead calculated in S61, excluding pedestrian crossings, where there is sufficient space for the vehicle to stop. In addition, for the section between the pedestrian crossing and the vehicle ahead, it is also a condition that an appropriate following distance (e.g., 4m) can be maintained between the vehicle and the vehicle ahead when stopped. For example, in the example shown in Figure 22, there is an area 90 between the intersection 85 and the pedestrian crossing 82 that is longer than the length of the vehicle, and there is an area 91 between the pedestrian crossing 82 and the stopping position of the vehicle ahead that is longer than the length of the vehicle and allows for an appropriate following distance to be maintained between the vehicle and the vehicle ahead when stopped. Therefore, areas 90 and 91 are extracted as candidate stopping positions.
[0131] Subsequently, in S63, the CPU 51 determines whether or not a candidate stopping position was extracted in S62, that is, whether there is a position where the vehicle in front can stop after passing the intersection section, even if the vehicle two positions ahead stops due to sudden braking.
[0132] If a candidate stopping position is found in S62, that is, if it is determined that there is a position where the vehicle can stop after passing the intersection even if the vehicle two positions ahead stops due to sudden braking (S63: YES), the process proceeds to S65. On the other hand, if a candidate stopping position is not found in S62, that is, if it is determined that there is no position where the vehicle can stop after passing the intersection even if the vehicle two positions ahead stops due to sudden braking (S63: NO), the process proceeds to S64.
[0133] In S64, the CPU 51 determines the stopping position to be just before the intersection within the area 80 where stopping is not recommended, as shown in Figure 21. As shown in Figure 21, it is sufficient if there is an area between the intersection and the pedestrian crossing 81 that is longer than the length of the vehicle, but if there is not, it is desirable to avoid stopping the vehicle within the intersection. Then, as shown in Figure 21, after the stopping position of the vehicle is determined within the area 80 where stopping is not recommended, a dynamic speed plan is generated to stop at the stopping position. Furthermore, the plan then becomes to continue stopping. The dynamic speed plan generation processing program will be executed repeatedly at regular intervals (e.g., 200ms) until the vehicle ends automatic driving, but stopping will continue until there are no vehicles ahead before passing the area where stopping is not recommended (until S45: NO is determined).
[0134] On the other hand, in S65, the CPU 51 determines whether a candidate stopping position was extracted in S62 after passing the area where stopping is not recommended, that is, whether there is a position where the vehicle can stop after passing the area where stopping is not recommended, even if the vehicle two vehicles ahead stops due to sudden braking. For example, in the example shown in Figure 22, the area 91 between the pedestrian crossing 82 and the stopping position of the vehicle ahead becomes a candidate stopping position after passing the area where stopping is not recommended.
[0135] Then, if, in S62, a candidate stopping position is extracted after passing the area where stopping is not recommended, that is, if it is determined that there is a position where the vehicle can stop after passing the area where stopping is not recommended even if the vehicle two positions ahead stops due to sudden braking (S65: YES), the process proceeds to S66. On the other hand, if, in S62, no candidate stopping position is extracted after passing the area where stopping is not recommended, that is, if it is determined that there is no position where the vehicle can stop after passing the area where stopping is not recommended even if the vehicle two positions ahead stops due to sudden braking (S65: NO), the process proceeds to S67.
[0136] In S66, the CPU 51 determines that even if the vehicle ahead becomes necessary to stop in the future, it can avoid stopping in an area where stopping is not recommended. Therefore, it does not determine a stopping position at this time, and basically outputs a speed plan for following the vehicle ahead and passing through the intersection as the dynamic speed plan. However, if the speed of the vehicle ahead is faster than the speed of the vehicle traveling according to the static speed plan, the static speed plan generated in S4 may be output as the dynamic speed plan instead of the speed plan for following the vehicle ahead. Also, if it is determined that stopping is necessary based on the traffic light status obtained in S42, a speed plan for stopping before the intersection will be generated.
[0137] Meanwhile, in S67, the CPU 51 determines a stopping position from the candidate stopping positions extracted in S62. Specifically, as shown in Figure 23, a candidate stopping position within the non-recommended stopping area 80 that is located after passing the intersection section is determined as the stopping position. After the vehicle's stopping position is determined within the non-recommended stopping area 80, a dynamic speed plan is generated to stop at the stopping position. Furthermore, the plan then proceeds to continue stopping. The dynamic speed plan generation processing program is executed repeatedly at regular intervals (e.g., 200ms) until the vehicle ends its automatic driving, but stopping will continue until there are no vehicles ahead of the vehicle before passing the non-recommended stopping area (until S45: NO is determined).
[0138] As described in detail above, the navigation device 1 and the computer program executed by the navigation device 1 according to this embodiment acquire the planned route the vehicle will travel (S1), acquire information on areas where stopping should be avoided on the planned route (S41), acquire information on areas where stopping should be avoided on the planned route (S41), acquire information on areas where stopping should be avoided if an area where stopping should be avoided is located a predetermined distance ahead of the vehicle, and if an event that causes the vehicle to decelerate or stop occurs in or around the area where stopping should be avoided, acquire the event as a deceleration event (S48), and if it is determined that the vehicle needs to stop at an intersection due to the deceleration event, the system determines the stopping position of the vehicle considering the vehicle's driving conditions, the content of the deceleration event, and the area where stopping should be avoided, and generates a speed plan for the vehicle to stop at the stopping position (S53, S55, S58, S64, S67), and provides driving assistance for the vehicle based on the stopping position and speed plan (S10, S11). As a result, the position where the vehicle should stop can be identified at an earlier stage than in the conventional system. This makes it possible to generate speed plans that do not burden the driver. Furthermore, if it is determined that the vehicle needs to stop due to a deceleration-causing event, the system determines whether the vehicle can stop outside the non-recommended stopping area based on the vehicle's driving conditions and the details of the deceleration-causing event (S52, S57). If the vehicle can stop outside the non-recommended stopping area, the system determines a stopping position outside the non-recommended stopping area (S53, S58). If the vehicle cannot stop outside the non-recommended stopping area, the system extracts possible stopping positions within the non-recommended stopping area as candidate stopping positions for the vehicle, and then determines a stopping position from among the extracted candidate stopping positions based on the vehicle's driving conditions and the details of the deceleration-causing event (S54, S63~S67). Therefore, if it is possible to stop outside the non-recommended stopping area, the system can prioritize determining the stopping position outside the non-recommended stopping area. On the other hand, even if it is not possible to stop outside the non-recommended stopping area, the system can search for possible stopping positions within the non-recommended stopping area and determine a stopping position there. Furthermore, since the deceleration-causing event is another vehicle traveling in front of the vehicle, when the vehicle needs to stop at an intersection due to the presence of a vehicle ahead, it becomes possible to identify the stopping position at an earlier stage than before. Furthermore, if there are two or more other vehicles traveling ahead of your vehicle, the deceleration-causing event is the vehicle traveling furthest ahead. Therefore, it becomes possible to identify the position where your vehicle should stop at an earlier stage than before. Furthermore, based on the current position and speed of the vehicle itself and the current position and speed of other vehicles, the system identifies the range in which the vehicle can stop assuming that other vehicles have started to decelerate at that moment, and determines the stopping position within that range (S58, S64, S67). Therefore, when the vehicle needs to stop at an intersection due to the presence of a vehicle in front or two vehicles ahead, the system can identify the range in which the vehicle can stop and determine the stopping position within that range.
[0139] It should be noted that the present invention is not limited to the embodiments described above, and various improvements and modifications are possible without departing from the spirit of the invention. For example, in this embodiment, the presence of a vehicle ahead, which is determined in S49 to be unlikely to pass through the area where stopping is not recommended, corresponds to an event (deceleration-causing event) that causes the vehicle to slow down or stop at the intersection and its surroundings. However, the deceleration-causing event may be something other than a vehicle ahead. For example, it may be the state of a traffic light installed at an intersection ahead in the direction of travel of the vehicle. That is, the vehicle may acquire the fact that a traffic light installed at an intersection ahead in the direction of travel of the vehicle has lit up yellow or red as a deceleration-causing event, and then determine the stopping position for the vehicle by considering the vehicle's driving situation, the state of the vehicle ahead if one is present, and the area where stopping is not recommended.
[0140] Furthermore, although this embodiment describes the generation of a speed plan when there are areas designated as not recommended to stop at intersections and railway crossings in the direction of travel of the vehicle, it can be similarly applied to other areas where stopping should be avoided, even if they are in the direction of travel of the vehicle. Examples of areas other than intersections and railway crossings that should be avoided to stop include pedestrian crossings other than intersections, no-stop zones indicated by road signs, and tram passing zones. Specifically, in S43 of the dynamic speed plan generation process shown in Figure 12, it is determined whether there are pedestrian crossings other than intersections, no-stop zones indicated by road signs, tram passing zones, etc., at a predetermined distance in front of the vehicle, and then the stopping position of the vehicle is determined using the presence or absence of vehicles in front between those areas and the vehicle's driving conditions, and a driving plan is generated (S48~S67).
[0141] Furthermore, in this embodiment, when there is a vehicle two positions ahead of the vehicle in front, the vehicle two positions ahead is treated as the deceleration-causing event. However, if there is yet another vehicle ahead of the vehicle two positions ahead, the vehicle two positions ahead may be treated as the deceleration-causing event. In other words, when there are two or more other vehicles traveling in front of the vehicle in question, it is preferable to treat the vehicle traveling furthest ahead as the deceleration-causing event.
[0142] Furthermore, in this embodiment, the static and dynamic driving tracks ultimately generated contain information that identifies the specific trajectory (a set of coordinates or a line) on which the vehicle travels. However, it is also acceptable to use information that identifies the road and lane on which the vehicle will travel, without specifying the exact trajectory.
[0143] Furthermore, in this embodiment, a lane network is generated using high-precision map information 15 (S23), but a lane network covering roads nationwide may be stored in the DB in advance and read from the DB as needed.
[0144] Furthermore, in this embodiment, the high-precision map information held by the server device 4 includes both information on the road lane shape (road shape and curvature per lane, lane width, etc.) and information on the lane markings drawn on the road (center line of the roadway, lane boundary line, outer line of the roadway, guide lines, traffic guides, etc.). However, it may also include only information on lane markings, or only information on the road lane shape. For example, even if only information on lane markings is included, it is possible to estimate information equivalent to information on the road lane shape based on the information on lane markings. Also, even if only information on the road lane shape is included, it is possible to estimate information equivalent to information on lane markings based on the information on the road lane shape. Furthermore, "information on lane markings" may be information that identifies the type and arrangement of the lane markings themselves, information that identifies whether or not lane changes are possible between adjacent lanes, or information that directly or indirectly identifies the shape of the lanes.
[0145] Furthermore, in this embodiment, as a means of reflecting the dynamic trajectory in the static trajectory, a portion of the static trajectory is replaced with the dynamic trajectory (S7). However, instead of replacement, the trajectory may be modified to bring the static trajectory closer to the dynamic trajectory.
[0146] Furthermore, in this embodiment, the vehicle control ECU 40 has been described as controlling all of the vehicle operations related to the vehicle's behavior, namely accelerator operation, brake operation, and steering operation, as an automated driving support system for driving automatically without user operation. However, automated driving support may also be defined as the vehicle control ECU 40 controlling at least one of the vehicle operations related to the vehicle's behavior, namely accelerator operation, brake operation, and steering operation. On the other hand, manual driving by user operation is described as the user performing all of the vehicle operations related to the vehicle's behavior, namely accelerator operation, brake operation, and steering operation.
[0147] Furthermore, the driving assistance of the present invention is not limited to automated driving assistance related to the automated driving of a vehicle. For example, it is also possible to provide driving assistance by displaying the static driving trajectory generated in S3 and the dynamic driving trajectory generated in S6 on the navigation screen, and providing guidance using voice or screen (e.g., guidance for lane changes). Alternatively, the static driving trajectory and dynamic driving trajectory may be displayed on the navigation screen to assist the user's driving operations. Similarly, it is also possible to provide driving assistance by displaying the static speed plan generated in S4 and the dynamic speed plan generated in S8 on the navigation screen, and providing guidance using voice or screen (e.g., guidance for speed adjustments).
[0148] Furthermore, in this embodiment, the navigation device 1 is configured to execute the automated driving support program (Figure 4), but it may also be configured to be executed by an in-vehicle device other than the navigation device 1 or by the vehicle control ECU 40. In that case, the in-vehicle device or the vehicle control ECU 40 is configured to acquire the vehicle's current position, map information, etc., from the navigation device 1 or the server device 4. Moreover, the server device 4 may execute some or all of the steps of the automated driving support program (Figure 4). In that case, the server device 4 corresponds to the driving support device of this application.
[0149] Furthermore, the present invention can be applied not only to navigation devices but also to mobile phones, smartphones, tablet devices, personal computers, etc. (hereinafter referred to as "mobile devices, etc."). It can also be applied to systems consisting of a server and mobile devices, etc. In that case, each step of the above-described automated driving support program (see Figure 4) may be performed by either the server or the mobile devices, etc. However, when applying the present invention to mobile devices, etc., the vehicle capable of performing automated driving support and the mobile devices, etc. must be connected in a way that allows for communication (whether wired or wireless). [Explanation of symbols]
[0150] 1...Navigation system, 2...Driver assistance system, 3...Information distribution center, 4...Server equipment, 5...Vehicle, 15...High-precision map information, 33...Navigation ECU, 39...External camera, 40...Vehicle control ECU, 51...CPU, 52...RAM, 53...ROM, 54...Flash memory, 61...Planned route, 75...Lane node, 76...Lane link, 80...Area where stopping is not recommended, 81,82...Pedestrian crossing, 85...Intersection
Claims
1. A means for acquiring the planned route on which the vehicle will travel, Area information acquisition means for acquiring information about areas on the planned route through which the vehicle will pass and where stopping should be avoided, which are areas where stopping is not recommended. In a situation where the aforementioned area where stopping is not recommended is located a predetermined distance ahead of the vehicle, and there is a vehicle traveling ahead of the vehicle, a passage determination means determines, based on the behavior of the vehicle ahead, whether or not there is a possibility that the vehicle ahead will stop before passing the area where stopping is not recommended. A stopping position determination means that determines the stopping position of the vehicle when it is determined that the vehicle ahead may stop before passing the area where stopping is not recommended, taking into consideration the vehicle's driving conditions, the state of the vehicle ahead, and the area where stopping is not recommended. A speed plan generation means for generating a speed plan for the vehicle to stop at the aforementioned stopping position, It includes a driver assistance means that provides driving assistance for the vehicle based on the aforementioned stopping position and the aforementioned speed plan, The means for determining the stopping position is, The system determines whether it can stop before the area where stopping is not recommended if the vehicle begins to decelerate at this point. If it is possible to stop before the aforementioned area where stopping is not recommended, the stopping position will be set before the aforementioned area where stopping is not recommended, If the vehicle cannot stop before the aforementioned no-stopping area, the driver assistance device further calculates the stopping position of the vehicle ahead based on the behavior of the vehicle ahead, extracts candidate stopping positions between the end of the intersection section overlapping with the intersecting road within the no-stopping area and the stopping position of the vehicle ahead, excluding pedestrian crossings, where there is enough space for the vehicle to stop, and determines a stopping position from among the candidate stopping positions if a candidate stopping position is extracted. If no candidate stopping position is extracted, the driver assistance device determines a stopping position before the starting point of the intersection section within the no-stopping area.
2. The driving assistance device according to claim 1, wherein the passage determination means determines that the vehicle ahead may stop before passing the area where stopping is not recommended if the vehicle speed of the vehicle ahead is slower than the road speed limit, the vehicle ahead is decelerating, or there is a vehicle traveling further ahead of the vehicle ahead between the vehicle ahead and the point where it passes the area where stopping is not recommended.
3. Computers, A means for acquiring the planned route on which the vehicle will travel, Area information acquisition means for acquiring information about areas on the planned route through which the vehicle will pass and where stopping should be avoided, which are areas where stopping is not recommended. In a situation where the aforementioned area where stopping is not recommended is located a predetermined distance ahead of the vehicle, and there is a vehicle traveling ahead of the vehicle, a passage determination means determines, based on the behavior of the vehicle ahead, whether or not there is a possibility that the vehicle ahead will stop before passing the area where stopping is not recommended. A stopping position determination means that determines the stopping position of the vehicle when it is determined that the vehicle ahead may stop before passing the area where stopping is not recommended, taking into consideration the vehicle's driving conditions, the state of the vehicle ahead, and the area where stopping is not recommended. A speed plan generation means for generating a speed plan for the vehicle to stop at the aforementioned stopping position, A driver assistance means that provides driving assistance for the vehicle based on the aforementioned stopping position and speed plan, It is a computer program that makes it function, The means for determining the stopping position is, The system determines whether it can stop before the area where stopping is not recommended if the vehicle begins to decelerate at this point. If it is possible to stop before the aforementioned area where stopping is not recommended, the stopping position will be set before the aforementioned area where stopping is not recommended, If it is not possible to stop before the aforementioned no-stopping area, the computer program further calculates the stopping position of the vehicle ahead based on the behavior of the vehicle ahead, extracts candidate stopping positions between the end of the intersection section that overlaps with the intersecting road within the no-stopping area and the stopping position of the vehicle ahead, where space for the vehicle to stop can be secured excluding pedestrian crossings, and if candidate stopping positions are extracted, determines the stopping position from among the candidate stopping positions, and if no candidate stopping positions are extracted, determines the stopping position before the starting point of the intersection section within the no-stopping area.
Citation Information
Patent Citations
Driving support apparatus
JP2005165643A
Travel support device for vehicle
JP2006248361A
Stop position setting device and method
JP2017001596A
Vehicle control device
JP2019202722A
Automatic driving vehicle
JP2021147021A