Driving assistance device and computer program

The driving assistance device and program address sudden turns and deceleration in curve sections by strategically setting junction points and combining driving trajectories, enhancing safety and comfort for vehicle occupants.

JP7800348B2Active Publication Date: 2026-01-16AISIN CORP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022136693
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-08-30
Publication Date
2026-01-16
Estimated Expiration
2042-08-30

AI Technical Summary

Technical Problem

Existing automated driving assistance systems generate driving trajectories that may involve sudden turns and deceleration when navigating through curve sections with multiple consecutive curves, potentially burdening vehicle occupants.

Method used

A driving assistance device and computer program that sets junction points between curves, calculates and combines driving trajectories to generate a recommended path that minimizes sudden turns and deceleration by connecting points outside the lane center when curves have the same direction, and on the lane center when directions differ.

Benefits of technology

Generates a driving trajectory that suppresses sudden turns and deceleration, providing appropriate assistance that reduces occupant burden during curve navigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007800348000001
    Figure 0007800348000001
  • Figure 0007800348000002
    Figure 0007800348000002
  • Figure 0007800348000003
    Figure 0007800348000003
Patent Text Reader

Abstract

To provide a driving support device and a computer program that can generate a travel track where sudden turning and deceleration are restricted when traveling in a curve section including a plurality of continuous curves, as a travel track where vehicle traveling is recommended.SOLUTION: A planned travel route for vehicle traveling is acquired, and in the case that a plurality of continuous curves are included particularly in the acquired planned travel route, map information containing information related to lane markings is used to set connection points of the plurality of curves by making a curve section including the plurality of curves a target. Then, by making the curve section a target, the first-half travel track from a start vector until arriving at a connection point and the latter-half travel track from the connection point until arriving at a termination vector are combined in order to generate a travel track where vehicle traveling is recommended, and driving support of a vehicle is performed according to the generated travel track.SELECTED DRAWING: Figure 20
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a driving assistance device and a computer program that assists a driver in driving a vehicle in a parking lot. [Background technology]

[0002] In recent years, in addition to manual driving, in which a vehicle is driven based on a user's driving operation, new automated driving assistance systems have been proposed that assist a user in driving a vehicle by having the vehicle perform some or all of the user's driving operations.The automated driving assistance system, for example, constantly detects the current position of the vehicle, the lane in which the vehicle is traveling, and the positions of other vehicles in the vicinity, and automatically controls the vehicle, including steering, drive sources, and braking, so that the vehicle travels along a predetermined route.

[0003] Furthermore, when driving using the above-mentioned automated driving assistance or when providing various other driving assistance to vehicles, a recommended driving trajectory is generated in advance on the road on which the vehicle is traveling based on the planned route of the vehicle, map information, etc. For example, International Publication No. 2021 / 059601 discloses a technology for generating a recommended driving trajectory for the center of the lane on which the vehicle is traveling, except within intersections and sections where lane changes are required, and controlling the vehicle to travel according to the generated driving trajectory. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] WO 2021 / 059601 (paragraph 0081) Summary of the Invention [Problem to be solved by the invention]

[0005] Here, the technology disclosed in the above-mentioned Patent Document 1 generates a driving trajectory that basically recommends driving along the center of the lane in which the vehicle is traveling, except for some sections such as within intersections. Therefore, a driving trajectory that recommends driving along the center of the lane in which the vehicle is traveling is generated even for sections where the road bends at a predetermined angle or includes a shape that curves in an arc with a predetermined curvature (hereinafter referred to as a curve section). However, particularly in curve sections with a series of multiple curves such as cranks and S-shaped curves, a trajectory that travels along the center of the lane is not necessarily the driving trajectory recommended for the vehicle, and there is a possibility that the driving trajectory will involve, for example, a sharp turn or deceleration.

[0006] The present invention has been made to solve the above-mentioned problems in the conventional art, and aims to provide a driving assistance device and computer program that can generate a recommended driving trajectory for a vehicle that suppresses sudden turns and deceleration when traveling through a curved section that includes multiple consecutive curves, and that can provide appropriate driving assistance that does not place a burden on the vehicle occupants. [Means for solving the problem]

[0007] In order to achieve the above object, the present invention 1stThe driving assistance device includes a planned driving route acquisition means for acquiring a planned driving route along which the vehicle will travel, a junction point setting means for setting junction points of the curves in a curve section including a plurality of successive curves when the planned driving route includes the plurality of curves, a start vector acquisition means for acquiring a start vector that specifies the position and orientation of the vehicle at the start point of the curve section when the vehicle travels along the planned driving route, an end vector acquisition means for acquiring an end vector that specifies the position and orientation of the vehicle at the end point of the curve section when the vehicle travels along the planned driving route, a driving trajectory generation means for combining a first half driving trajectory from the start vector to the junction point and a second half driving trajectory from the junction point to the end vector in the curve section as the recommended driving trajectory for the vehicle, and a driving assistance means for providing driving assistance for the vehicle based on the driving trajectory generated by the driving trajectory generation means. When the plurality of curves have the same turning direction, the connection point setting means sets the connection point between the plurality of curves and on the outside of the curve from the center line of the lane on which the vehicle is scheduled to travel, and the driving trajectory generation means calculates costs for combinations of a plurality of first half driving trajectory candidates and a plurality of second half driving trajectory candidates, compares the calculated costs, and selects and generates a combination of driving trajectories for which vehicle travel is recommended from among the combinations of a plurality of first half driving trajectory candidates and a plurality of second half driving trajectory candidates. . Furthermore, a second driving assistance device according to the present invention includes planned driving route acquisition means for acquiring a planned driving route along which a vehicle will travel; junction point setting means for setting junction points of the curves in a curve section including a plurality of successive curves when the planned driving route includes the plurality of curves; start vector acquisition means for acquiring a start vector that specifies the position and orientation of the vehicle at the start point of the curve section when the vehicle is traveling along the planned driving route; end vector acquisition means for acquiring an end vector that specifies the position and orientation of the vehicle at the end point of the curve section when the vehicle is traveling along the planned driving route; and a first half driving trajectory from the start vector to the junction point in the curve section and a second half driving trajectory from the junction point to the end vector. and a second half driving trajectory leading to the first half driving trajectory, and generates a recommended driving trajectory for the vehicle based on the driving trajectory generated by the driving trajectory generation means; and a driving assistance means for assisting the vehicle in driving based on the driving trajectory generated by the driving trajectory generation means, wherein, when the plurality of curves have different turning directions, the connection point setting means sets the connection point on the center line of the lane in which the vehicle is scheduled to travel, between the plurality of curves, and the driving trajectory generation means calculates costs for combinations of a plurality of first half driving trajectory candidates and a plurality of second half driving trajectory candidates, compares the calculated costs, and selects and generates a combination of driving trajectories for which the vehicle is recommended to travel from among the combinations of a plurality of first half driving trajectory candidates and a plurality of second half driving trajectory candidates.

[0008] Furthermore, the present invention 1st The computer program is a program for generating assistance information used for driving assistance performed in a vehicle. Specifically, the computer is configured to function as: a planned driving route acquisition means for acquiring a planned driving route along which the vehicle will travel; a junction point setting means for setting a junction point of the curves in a curve section including a plurality of successive curves when the planned driving route includes the plurality of curves; a start vector acquisition means for acquiring a start vector that specifies the position and orientation of the vehicle at the start point of the curve section when the vehicle travels along the planned driving route; an end vector acquisition means for acquiring an end vector that specifies the position and orientation of the vehicle at the end point of the curve section when the vehicle travels along the planned driving route; a driving trajectory generation means for generating a recommended driving trajectory for the vehicle by combining a first half driving trajectory from the start vector to the junction point and a second half driving trajectory from the junction point to the end vector in the curve section; and a driving assistance means for providing driving assistance to the vehicle based on the driving trajectory generated by the driving trajectory generation means. Furthermore, when the turning directions of the plurality of curves are the same, the connection point setting means sets the connection point between the plurality of curves and outside the curve of the center line of the lane in which the vehicle is scheduled to travel, and the driving trajectory generation means calculates costs for combinations of a plurality of candidate first half driving trajectories and a plurality of candidate second half driving trajectories, compares the calculated costs, and selects and generates a combination of driving trajectories for which vehicle travel is recommended from among the combinations of a plurality of candidate first half driving trajectories and a plurality of candidate second half driving trajectories. A second computer program according to the present invention is a program for generating assistance information used for driving assistance performed in a vehicle. Specifically, the computer is configured to function as: planned driving route acquisition means for acquiring a planned driving route along which the vehicle will travel; junction point setting means for setting junction points of the curves in a curve section including a plurality of successive curves when the planned driving route includes the plurality of curves; start vector acquisition means for acquiring a start vector that specifies the position and orientation of the vehicle at the start point of the curve section when the vehicle is traveling along the planned driving route; end vector acquisition means for acquiring an end vector that specifies the position and orientation of the vehicle at the end point of the curve section when the vehicle is traveling along the planned driving route; driving trajectory generation means for generating a recommended driving trajectory for the vehicle by combining a first half driving trajectory from the start vector to the junction point and a second half driving trajectory from the junction point to the end vector in the curve section; and driving assistance means for providing driving assistance to the vehicle based on the driving trajectory generated by the driving trajectory generation means. Furthermore, when the curves have different turning directions, the connection point setting means sets the connection point between the curves on the center line of the lane on which the vehicle is scheduled to travel, and the driving trajectory generation means calculates costs for combinations of multiple candidate first half driving trajectories and multiple candidate second half driving trajectories, compares the calculated costs, and selects and generates a combination of driving trajectories for which it is recommended that the vehicle travel from among the combinations of multiple candidate first half driving trajectories and multiple candidate second half driving trajectories. [Effects of the Invention]

[0009] According to the present invention having the above configuration First driving assistance device, second driving assistance device, first computer program, and second computer program According to the method, when passing through a curve section with a series of multiple curves based on the shape of the road and lane markings, connecting points of each curve are set on the road, and a driving trajectory is generated that connects the driving trajectories of each curve at the connecting points, thereby making it possible to generate a driving trajectory that suppresses sudden turns and deceleration when traveling through a curve section with a series of multiple curves as a recommended driving trajectory for the vehicle.As a result, it becomes possible to provide appropriate driving assistance that does not burden the vehicle occupants. [Brief explanation of the drawings]

[0010] [Figure 1] 1 is a schematic configuration diagram showing a driving assistance system according to an embodiment of the present invention; [Figure 2] 1 is a block diagram showing the configuration of a driving assistance system according to an embodiment of the present invention. [Figure 3] 1 is a block diagram showing a navigation device according to an embodiment of the present invention; [Figure 4] 4 is a flowchart of an autonomous driving assistance program according to the present embodiment. [Figure 5] FIG. 2 is a diagram showing an area for which high-precision map information is acquired. [Figure 6] FIG. 10 is a diagram illustrating a method for calculating a dynamic traveling trajectory. [Figure 7] 10 is a flowchart of a sub-processing program of a static traveling trajectory generation process. [Figure 8] FIG. 2 is a diagram showing an example of a planned driving route of a vehicle. [Figure 9] FIG. 9 is a diagram showing an example of a lane network constructed for the planned travel route shown in FIG. 8. [Figure 10] 10 is a flowchart of a sub-processing program of a traveling trajectory generation process for a curve section. [Figure 11]10 is a flowchart of a sub-processing program of a traveling trajectory generation process for a curve section. [Figure 12] FIG. 1 is a diagram showing an example of a curve section including discontinuous curves. [Figure 13] FIG. 1 is a diagram showing an example of a curve section including a plurality of successive curves. [Figure 14] FIG. 10 is a diagram illustrating a method for setting a clipping point. [Figure 15] FIG. 10 is a diagram illustrating an example of multiple start vectors and end vectors. [Figure 16] FIG. 10 is a diagram illustrating a case where the arc with the largest radius of curvature that passes through the start vector and the end vector in the direction of travel of each vector is included in the lane in which the vehicle is traveling. [Figure 17] 10 is a diagram illustrating a case where the arc with the largest radius of curvature that passes through the start vector and the end vector in the direction of travel of each vector is not included in the lane in which the vehicle is traveling. FIG. [Figure 18] FIG. 10 is a diagram showing candidates for a driving trajectory generated for a curve section. [Figure 19] 10A and 10B are diagrams illustrating a method for generating a second running trajectory and a third running trajectory. [Figure 20] FIG. 10 is a diagram showing connection points set in a curve section including a series of curves that turn in different directions. [Figure 21] FIG. 10 is a diagram showing connection points set in a curve section in which a plurality of successive curves that bend in the same direction are included; [Figure 22] FIG. 10 is a diagram showing start and end vectors set for each section when a curve section including a series of curves with different turning directions is divided at a midpoint. [Figure 23] FIG. 10 is a diagram showing start and end vectors set for each section when a curve section including a series of curves that all bend in the same direction is divided at a midpoint. [Figure 24] FIG. 10 is a diagram illustrating an example of multiple start vectors and end vectors. [Figure 25]FIG. 10 is a diagram showing an example of correction for smoothing a running trajectory. DETAILED DESCRIPTION OF THE INVENTION

[0011] An embodiment in which a driving assistance device according to the present invention is embodied in a navigation device 1 will be described in detail below with reference to the drawings. First, a schematic configuration of a driving assistance system 2 including a navigation device 1 according to this embodiment will be described with reference to Fig. 1 and Fig. 2. Fig. 1 is a schematic configuration diagram showing the driving assistance system 2 according to this embodiment. Fig. 2 is a block diagram showing the configuration of the driving assistance system 2 according to this embodiment.

[0012] As shown in Fig. 1, a driving assistance system 2 according to this embodiment basically includes a server device 4 provided in an information distribution center 3, and a navigation device 1 that is mounted on a vehicle 5 and provides various types of assistance related to the autonomous driving of the vehicle 5. The server device 4 and the navigation device 1 are configured to be able to send and receive electronic data to and from each other via a communication network 6. Note that instead of the navigation device 1, other on-board devices mounted on the vehicle 5 or a vehicle control device that controls the vehicle 5 may be used.

[0013] Here, vehicle 5 is a vehicle capable of manual driving, in which the vehicle drives based on the user's driving operations, as well as assisted driving using automatic driving assistance, in which the vehicle automatically drives along a pre-set route or road without the user's driving operations.

[0014] Furthermore, autonomous driving assistance may be provided for all road sections, or may be configured to be provided only while the vehicle is traveling on a specific road section (for example, a highway with a gate (manned or unmanned, toll or free) at the boundary). In the following explanation, the autonomous driving section in which autonomous driving assistance is provided includes all road sections, including general roads and highways, as well as parking lots, and the explanation will be given assuming that autonomous driving assistance is basically provided from the time the vehicle starts traveling until it ends traveling (until the vehicle is parked). However, autonomous driving assistance is not always provided when the vehicle is traveling on an autonomous driving section, but is preferably provided only when the user selects to provide autonomous driving assistance (for example, by turning on the autonomous driving start button) and it is determined that autonomous driving assistance is possible. On the other hand, vehicle 5 may be a vehicle capable of only assisted traveling using autonomous driving assistance.

[0015] In vehicle control in automated driving assistance, for example, the current position of the vehicle, the lane the vehicle is traveling on, and the positions of surrounding obstacles are detected at any time, and vehicle control of the steering, drive source, brakes, etc. is automatically performed so that the vehicle travels at a speed according to a speed plan generated along a travel trajectory generated by the navigation device 1, as will be described later. Note that in assisted driving with automated driving assistance in this embodiment, lane changes, right and left turns, and parking operations are also performed by performing vehicle control with the automated driving assistance described above, but special driving operations such as lane changes, right and left turns, and parking operations may be performed by manual driving without using automated driving assistance.

[0016] On the other hand, the navigation device 1 is an on-board device that is mounted on the vehicle 5 and displays a map of the area around the vehicle's position based on map data stored in 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 a map image, and provides travel guidance along a set guide route. In this embodiment, various types of assistance information related to autonomous driving assistance are generated, particularly when the vehicle is performing assisted driving using autonomous driving assistance. Examples of assistance information include a recommended driving trajectory for the vehicle (including recommended lane movement patterns), selection of a parking position for parking the vehicle at the destination, and a speed plan indicating the vehicle speed when driving. Details of the navigation device 1 will be described later.

[0017] Furthermore, the server device 4 executes a route search in response to a request from the navigation device 1. Specifically, information necessary for the route search, such as the departure point and destination, is transmitted from the navigation device 1 to the server device 4 along with a route search request (however, in the case of a re-search, it is not necessary to transmit information about the destination). Then, upon receiving the route search request, the server device 4 performs a route search using map information held by the server device 4 and identifies a recommended route from the departure point to the destination. Thereafter, the identified recommended route is transmitted to the navigation device 1 that issued the request. The navigation device 1 can then provide the user with information about the received recommended route, or use the recommended route to generate various types of assistance information related to autonomous driving assistance, as will be described later.

[0018] Furthermore, the server device 4 stores high-precision map information and facility information, which are map information with higher accuracy, in addition to the normal map information used for the route search. The high-precision map information includes, for example, information about the lane shape of a road (e.g., road shape and curvature for each lane, bending angle, lane width, etc.) and road markings (e.g., center line, lane boundary line, outer lane line, guiding line, etc.). It also includes information about intersections. On the other hand, the facility information is more detailed information about a facility stored separately from the facility information included in the map information. For example, the facility information includes a floor map of the facility, information about the entrance to a parking lot, layout information about the aisles and parking spaces in the parking lot, information about the marking lines that divide the parking spaces, and connection information indicating the connection relationship between the entrance to the parking lot and the lanes. The server device 4 distributes the high-precision map information and facility information in response to a request from the navigation device 1, and the navigation device 1 generates various support information for autonomous driving assistance using the high-precision map information and facility information distributed from the server device 4, as described below. Note that the high-precision map information is basically map information that only covers roads (links) and their surrounding areas, but it may also include map information that includes areas other than the surrounding areas of the roads.

[0019] However, the above-described route search process does not necessarily have to be performed by the server device 4, and may be performed by the navigation device 1 as long as the navigation device 1 has map information. Also, the high-precision map information and facility information may not be distributed from the server device 4, but may be stored in the navigation device 1 in advance.

[0020] The communication network 6 includes numerous base stations located throughout the country and communication companies that manage and control each base station, and is configured by connecting the base stations and communication companies to each other via wire (optical fiber, ISDN, etc.) or wirelessly. Here, the base stations have transceivers (transmitters / receivers) and antennas that communicate with the navigation device 1. The base stations perform wireless communications between communication companies, and are also end points of the communication network 6, and have the role of relaying communications between the navigation device 1 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 driving assistance system 2 will be described in more detail with reference to Fig. 2. As shown in Fig. 2, the server device 4 includes a server control unit 11, a server-side map DB 12 as information recording means connected to the server control unit 11, a high-precision map DB 13, a facility DB 14, and a server-side communication device 15.

[0022] The server control unit 11 is a control unit (MCU, MPU, etc.) that controls the entire server device 4, and includes a CPU 21 as an arithmetic and control device, a RAM 22 used as a working memory when the CPU 21 performs various arithmetic processing, a ROM 23 in which control programs and the like are recorded, and a flash memory 24 for storing programs read from the ROM 23. The server control unit 11 has various means as processing algorithms together with the ECU of the navigation device 1, which will be described later.

[0023] On the other hand, the server-side map DB 12 is a storage means for storing server-side map information, which is the latest version of map information registered based on external input data and input operations. Here, the server-side map information is composed of various information necessary for route search, route guidance, and map display, including the road network. For example, it includes network data including nodes and links indicating the road network, link data related to roads (links), node data related to node points, intersection data related to each intersection, point data related to points such as facilities, map display data for displaying the map, search data for searching for routes, and search data for searching for points.

[0024] The high-precision map DB 13 is a storage means for storing high-precision map information 16, which is map information with higher accuracy than the server-side map information. The high-precision map information 16 is map information that stores more detailed information, particularly about roads on which vehicles travel. In this embodiment, the high-precision map information 16 includes, for example, information about lane shapes (such as the road shape and curvature for each lane, and lane width) and road dividing lines (such as center lines, lane boundaries, outer lane lines, and guide lines) drawn on roads. Furthermore, the high-precision map information 16 stores data representing road gradients, cants, banks, merging sections, areas where the number of lanes decreases, areas where road width narrows, and railroad crossings; data representing the radius of curvature and bending angle of curves; data representing branch points such as intersections and T-junctions; data representing road attributes such as downhill roads and uphill roads; and data representing road types such as general roads (such as national highways, prefectural roads, and narrow streets) as well as toll roads (such as national expressways, urban expressways, motorways, general toll roads, and toll bridges). Furthermore, the information about the lane markings stores information specifying what type of lane markings are arranged on the road. In the following description, the term "curve" includes not only a shape where the road bends in an arc shape with a predetermined curvature, but also a shape where the road bends at a predetermined angle such as a right angle (for example, an L-shaped intersection). In addition to the number of lanes on the road, information that specifies the traffic divisions in the direction of travel for each lane and the connections between the roads (specifically, the correspondence between the lanes on the road before passing through the intersection and the lanes on the road after passing through the intersection) is also stored. Furthermore, the speed limit set for the road is also stored.

[0025] Meanwhile, the facility DB 14 is a storage means for storing more detailed facility information than the facility information stored in the server-side map information. Specifically, the facility information 17 includes, particularly for parking lots (including both parking lots attached to facilities and stand-alone parking lots) where vehicles are to be parked, information identifying the location of the parking lot entrances and exits, information identifying the layout of parking spaces within the parking lot, information on the demarcation lines dividing the parking spaces, and information on the aisles. For facilities other than parking lots, information identifying a floor map of the facility is also included. The floor map includes, for example, information identifying the locations of entrances and exits, aisles, stairs, elevators, and escalators. Furthermore, in the case of a multi-tenant commercial complex, information identifying the location of each tenant occupying the facility is also included. The facility information 17 may be information generated using a 3D model of the parking lot or facility. Furthermore, the facility DB 14 also includes connection information 18 indicating the connection relationship between the lanes included in the approach road facing the parking lot entrance and the parking lot entrance, and road outline information 19 specifying the area where vehicles can pass between the approach road and the parking lot entrance.

[0026] Although the high-precision map information 16 is basically map information that covers only roads (links) and their surrounding areas, it may also be map information that includes areas other than the surrounding areas of the roads. Furthermore, in the example shown in Fig. 2, the server-side map information stored in the server-side map DB 12 and the information stored in the high-precision map DB 13 and facility DB 14 are different map information, but the information stored in the high-precision map DB 13 and facility DB 14 may also be part of the server-side map information. Furthermore, the high-precision map DB 13 and facility DB 14 may not be separated but may be a single database.

[0027] On the other hand, the server-side communication device 15 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 including congestion information, regulation information, traffic accident information, etc. transmitted from the Internet network or a traffic information center, such as a VICS (registered trademark: Vehicle Information and Communication System) center.

[0028] Next, the schematic configuration of the navigation device 1 mounted on the vehicle 5 will be described with reference to Fig. 3. Fig. 3 is a block diagram showing the navigation device 1 according to this embodiment.

[0029] 3, the navigation device 1 according to this embodiment includes a current position detection unit 31 that detects the current position of the vehicle in which the navigation device 1 is installed, a data recording unit 32 that records various data, a navigation ECU 33 that performs various calculations based on input information, an operation unit 34 that accepts user operations, a liquid crystal display 35 that displays to the user a map of the area around the vehicle and information about the guide route (planned route of the vehicle) set in the navigation device 1, a speaker 36 that outputs audio guidance regarding the route guidance, a DVD drive 37 that reads a DVD as a storage medium, and a communication module 38 that communicates with an information center such as a probe center or a VICS center. The navigation device 1 is also connected to an external camera 39 and various sensors installed in the vehicle in which the navigation device 1 is installed via an in-vehicle network such as a CAN. The navigation device 1 is also connected to a vehicle control ECU 40 that performs various controls on the vehicle in which the navigation device 1 is installed, allowing bidirectional communication.

[0030] Each of the components of the navigation device 1 will be explained below in order. The current position detection unit 31 is composed 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 vehicle position, direction, vehicle traveling speed, current time, etc. Here, the vehicle speed sensor 42 in particular is a sensor for detecting the vehicle's travel distance and speed, and generates pulses in response to the rotation of the vehicle's drive wheels and outputs the pulse signals to the navigation ECU 33. The navigation ECU 33 then calculates the rotation speed of the drive wheels and travel distance by counting the generated pulses. Note that the navigation device 1 does not need to be equipped with all four types of sensors described above, and the navigation device 1 may be configured to be equipped with only one or more of these types of sensors.

[0031] The data recording unit 32 also 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 the map information DB 45, cache 46, predetermined programs, etc. recorded on the hard disk and writing predetermined data to the hard disk. Note that the data recording unit 32 may include a flash memory, a memory card, or an optical disk such as a CD or DVD instead of a hard disk. In addition, 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.

[0032] 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 search and change, facility data related to facilities, map display data for displaying maps, intersection data related to each intersection, search data for searching for points, etc.

[0033] On the other hand, the cache 46 is a storage means for storing the high-precision map information 16, facility information 17, connection information 18, and road exterior shape information 19 that have been distributed from the server device 4 in the past. The storage period can be set as appropriate, for example, it may be a predetermined period (e.g., one month) from the time of storage, or it may be until the vehicle's ACC power supply (accessory power supply) is turned off. Furthermore, once the amount of data stored in the cache 46 reaches an upper limit, the oldest data may be deleted sequentially. Then, the navigation ECU 33 generates various types of assistance information related to autonomous driving assistance using the high-precision map information 16, facility information 17, connection information 18, and road exterior shape information 19 stored in the cache 46. Details will be described later.

[0034] Meanwhile, the navigation ECU (Electronic Control Unit) 33 is an electronic control unit that controls the entire navigation device 1. It includes a CPU 51 as a calculation device and control device, a RAM 52 that serves as a working memory for the CPU 51 to perform various calculation processes and stores route data and the like when a route is searched, a ROM 53 that stores control programs as well as an automated driving assistance program (see FIG. 4 ) described below, and a flash memory 54 that stores programs read from the ROM 53. The navigation ECU 33 also includes various processing algorithms. For example, the planned driving route acquisition means acquires the planned driving route along which the vehicle will travel. The junction point setting means, when the planned driving route includes multiple consecutive curves, sets junction points for multiple curves in a curve section including the multiple curves. The start vector acquisition means acquires a start vector that identifies the position and orientation of the vehicle at the start point of a curve section when the vehicle travels along the planned driving route. The end vector acquisition means acquires an end vector that identifies the position and orientation of the vehicle at the end point of a curve section when the vehicle travels along the planned driving route. The driving trajectory generation means generates a recommended driving trajectory for the vehicle by combining a first half driving trajectory from the start vector to the junction point and a second half driving trajectory from the junction point to the end vector for the curve section. The driving assistance means provides driving assistance for the vehicle based on the driving trajectory generated by the driving trajectory generation means.

[0035] The operation unit 34 is operated when inputting a departure point as a starting point of a trip and a destination point as a destination of a trip, and has a plurality of operation switches (not shown) such as various keys and buttons. The navigation ECU 33 controls the execution of various corresponding operations based on switch signals output by pressing each switch. The operation unit 34 may have a touch panel provided on the front surface of the liquid crystal display 35. It may also have a microphone and a voice recognition device.

[0036] The LCD display 35 also displays map images including roads, traffic information, operation guidance, operation menus, key guidance, guidance information along the guided route (planned driving route), news, weather forecasts, time, emails, television programs, etc. Note that a HUD or HMD may be used instead of the LCD display 35.

[0037] The speaker 36 also outputs voice guidance for guiding the vehicle along a guide route (planned travel route) based on instructions from the navigation ECU 33, and traffic information guidance.

[0038] The DVD drive 37 is a drive that can read data recorded on a recording medium such as a DVD or CD. Based on the read data, music and video are played, and the map information DB 45 is updated. Instead of the DVD drive 37, a card slot for reading and writing data to a memory card may be provided.

[0039] The communication module 38 is a communication device for receiving traffic information, probe information, weather information, etc. transmitted from a traffic information center, such as a VICS center or a probe center, and is, for example, a mobile phone or DCM. It also includes a vehicle-to-vehicle communication device for communicating between vehicles and a road-to-vehicle communication device for communicating with roadside devices. It is also used to transmit and receive route information, high-precision map information 16, facility information 17, connection information 18, and road outer shape information 19 searched by the server device 4 to and from the server device 4.

[0040] The exterior camera 39 is composed of a camera using a solid-state image sensor such as a CCD, and is mounted above the vehicle's front bumper with its optical axis oriented downward at a predetermined angle from the horizontal. The exterior camera 39 captures images of the area ahead of the vehicle when the vehicle is traveling in an autonomous driving zone. The navigation ECU 33 processes the captured images to detect obstacles, such as lane markings on the road the vehicle is traveling on and other vehicles in the vicinity, and generates various assistance information related to autonomous driving assistance based on the detection results. For example, if an obstacle is detected, the navigation ECU 33 generates a new driving trajectory to avoid or follow the obstacle. The exterior camera 39 may be positioned at the rear or side of the vehicle, in addition to the front. Instead of a camera, sensors such as millimeter-wave radar or laser sensors, or vehicle-to-vehicle communication or road-to-vehicle communication may be used to detect obstacles.

[0041] 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 connected to each drive unit of the vehicle, such as the steering, brakes, and accelerator, and in this embodiment, after automatic driving assistance has started in the vehicle, the vehicle control ECU 40 controls each drive unit to implement automatic driving assistance for the vehicle. If an override is performed by the user during automatic driving assistance, the ECU 40 detects that an override has been performed.

[0042] Here, after starting to travel, the navigation ECU 33 transmits various types of assistance information related to the autonomous driving assistance generated by the navigation device 1 to the vehicle control ECU 40 via the CAN. Then, the vehicle control ECU 40 uses the received various types of assistance information to implement the autonomous driving assistance after starting to travel. Examples of the assistance information include a recommended traveling trajectory for the vehicle, a speed plan indicating the vehicle speed when traveling, etc.

[0043] Next, an automatic driving assistance 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 Fig. 4. Fig. 4 is a flowchart of the automatic driving assistance program according to this embodiment. Here, the automatic driving assistance program is executed when the vehicle starts traveling with automatic driving assistance after the ACC power supply (accessory power supply) of the vehicle is turned on, and is a program that performs assisted traveling with automatic driving assistance in accordance with assistance information generated by the navigation device 1. The programs shown in the flowcharts in Figs. 4, 7, 10, and 11 below are stored in the RAM 52 and ROM 53 provided in the navigation device 1, and are executed by the CPU 51.

[0044] First, in step (hereinafter abbreviated as S) 1 of the automatic driving assistance program, the CPU 51 acquires a route that the vehicle is scheduled to travel in the future (hereinafter referred to as planned travel route). The planned travel route of the vehicle is, for example, a recommended route to a destination searched for by the server device 4 when the destination is set by the user. If a destination is not set, a route that follows a road from the current position of the vehicle may be used as the planned travel route.

[0045] Furthermore, when searching for a recommended route, the CPU 51 first transmits 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 departure point (e.g., the current position of the vehicle) and the destination. When re-searching, information that identifies the destination is not necessarily required. Thereafter, the CPU 51 receives searched route information transmitted from the server device 4 in response to the route search request. The searched route information is information (e.g., a series of links included in the recommended route) that identifies a recommended route (center route) from the departure point to the destination that the server device 4 has searched for using the latest version of map information based on the transmitted route search request. The search is performed using, for example, the well-known Dijkstra algorithm.

[0046] In the search for the recommended route, it is desirable to select a parking position (parking space) recommended for parking the vehicle in a parking lot at the destination, and then search for a recommended route to the selected parking position. In other words, it is desirable that the searched recommended route include not only a route to the parking lot, but also a route indicating the movement of the vehicle within the parking lot. For example, from among the available parking spaces in the parking lot, a parking space that is easy for the user to park in (e.g., a parking space close to the entrance of the parking lot, a parking space with no other vehicles parked on either side, etc.) is determined as a candidate parking position recommended for the user to park. Furthermore, when selecting a parking position, it is desirable to select a parking position that reduces the burden on the user by taking into consideration not only the movement of the vehicle to the parking position, but also the walking movement after parking the vehicle and the movement of the vehicle when leaving the parking position on the way back.

[0047] In addition, multiple candidate parking locations may be selected as recommended parking locations for parking the vehicle. When multiple candidate parking locations are selected as recommended parking locations for parking the vehicle, a recommended route to each parking location is acquired as a planned driving route in S1, i.e., multiple candidate planned driving routes are acquired. Even when only one recommended parking location is selected, multiple candidate planned driving routes may be acquired if multiple recommended routes are possible for that parking location. When multiple candidate planned driving routes are acquired in S1, lane shift patterns are compared between the multiple planned driving routes in S25 (described later), and a single recommended lane shift pattern is determined, thereby resulting in a single determination of the parking location and the planned driving route.

[0048] The server device 4 also refers to connection information 18 that indicates the connection relationship between the lanes included in the road facing the entrance to the parking lot where the user will park (hereinafter referred to as the approach road) and the entrance to the parking lot, and if the possible directions of travel into the parking lot from the approach road are limited (for example, only left turns are allowed), the server device 4 also takes into consideration the approach direction when searching for the driving route. Note that a search method other than the Dijkstra algorithm may be used as a route search method. The search for the driving route in S1 may also be performed by the navigation device 1 rather than the server device 4.

[0049] Next, in S2, the CPU 51 acquires high-precision map information 16 for an area including the planned travel route acquired in S1 from the current position of the vehicle.

[0050] Here, the high precision map information 16 is divided into rectangular areas (for example, 500 m x 1 km) as shown in Fig. 5 and stored in the high precision map DB 13 of the server device 4. Therefore, for example, when a route 61 is acquired as the vehicle's travel route as shown in Fig. 5, high precision map information 16 is acquired for areas 62 to 65 that include the route 61. However, when the distance to the destination is particularly long, high precision map information 16 may be acquired for only the secondary mesh in which the vehicle is currently located, or may be acquired for only the area within a predetermined distance (for example, within 3 km) from the vehicle's current position.

[0051] The high-precision map information 16 includes, for example, information about the lane shapes of roads and the dividing lines painted on the roads (roadway center lines, lane boundaries, roadway outer lines, guiding lines, etc.). It also includes information about intersections, parking lots, etc. The high-precision map information 16 is basically acquired from the server device 4 in units of the rectangular areas described above, but if high-precision map information 16 for an area is already stored in the cache 46, it is acquired from the cache 46. The high-precision map information 16 acquired from the server device 4 is temporarily stored in the cache 46.

[0052] In addition, in S2, the CPU 51 also acquires connection information 18 that indicates the connection relationship between the lanes included in the approach road facing the entrance to the parking lot where the user will park and the entrance to the parking lot, and road outer shape information 19 that specifies the area through which vehicles can pass between the approach road and the entrance to the parking lot where the user will park.

[0053] Thereafter, in S3, the CPU 51 executes a static driving trajectory generation process (FIG. 7) described below. Here, the static driving trajectory generation process is a process for generating a static driving trajectory, which is a driving trajectory recommended for the vehicle along roads included in the planned driving route, based on the planned driving route of the vehicle and the high-precision map information 16 acquired in S2. In particular, the CPU 51 not only identifies lanes along which the vehicle is recommended to travel, but also generates a driving trajectory that identifies specific driving positions within the lanes along which the vehicle is recommended to travel, as a static driving trajectory. Note that if the distance to the destination is particularly long, it may be possible to generate only a static driving trajectory covering a section from the current position of the vehicle up to a predetermined distance ahead along the traveling direction (for example, within the secondary mesh where the vehicle is currently located). Note that the predetermined distance can be changed as appropriate, but the static driving trajectory is generated for an area that includes at least an area outside the range (detection range) in which road conditions around the vehicle can be detected by the exterior camera 39 or other sensors.

[0054] Next, in S4, the CPU 51 generates a speed plan for the vehicle when traveling along the static traveling track generated in S3, based on the high-precision map information 16 acquired in S2. For example, the CPU 51 calculates a recommended traveling speed for the vehicle when traveling along the static traveling track, taking into consideration speed limit information and speed change points (e.g., intersections, curves, railroad crossings, crosswalks, etc.) on the planned traveling route.

[0055] The speed plan generated in S4 is stored in the flash memory 54 or the like as support information to be used for the automatic driving support. In addition, an acceleration plan indicating the acceleration / deceleration of the vehicle required to realize the speed plan generated in S4 may also be generated as support information to be used for the automatic driving support.

[0056] Next, in S5, the CPU 51 performs image processing on the image captured by the exterior camera 39 to determine whether there are any factors affecting the vehicle's traveling, particularly those around the vehicle, that may affect the vehicle's traveling. The "factors affecting the vehicle's traveling" determined in S5 are dynamic factors that change in real time, excluding static factors based on road structure. For example, these factors include other vehicles traveling or parked ahead of the vehicle, vehicles in traffic jams, pedestrians ahead of the vehicle, and construction zones ahead of the vehicle. On the other hand, intersections, curves, railroad crossings, merging sections, and lane-narrowing sections are excluded. Even if other vehicles, pedestrians, or construction zones exist, they are excluded from the "factors affecting the vehicle's traveling" if they are unlikely to overlap with the vehicle's future traveling trajectory (e.g., if they are located far from the vehicle's future traveling trajectory). Instead of cameras, sensors such as millimeter-wave radar or laser sensors, vehicle-to-vehicle communication, or road-to-vehicle communication may be used to detect factors that may affect the vehicle's traveling.

[0057] In addition, for example, the real-time positions of each vehicle traveling on roads across the country may be managed by an external server, and the CPU 51 may obtain the positions of other vehicles located around the vehicle from the external server and perform the determination process of S5.

[0058] If it is determined that there is a factor in the vicinity of the host vehicle that may affect the running of the host vehicle (S5: YES), the process proceeds to S6. On the other hand, if it is determined that there is no factor in the vicinity of the host vehicle that may affect the running of the host vehicle (S5: NO), the process proceeds to S9.

[0059] In S6, the CPU 51 generates a new trajectory as a dynamic driving trajectory for returning to the static driving trajectory from the current position of the vehicle by avoiding or following the "factors that affect the driving of the host vehicle" detected in S5. The dynamic driving trajectory is generated for a section including the "factors that affect the driving of the host vehicle." The length of the section varies depending on the type of factor. For example, if the "factors that affect the driving of the host vehicle" is another vehicle (forward vehicle) traveling ahead of the vehicle, an avoidance trajectory is generated as a dynamic driving trajectory 67, which is a trajectory that changes lanes to the right to overtake the forward vehicle 66, then changes lanes to the left to return to the original lane, as shown in FIG. 6. A following trajectory that follows the forward vehicle 66 a predetermined distance behind (or travels alongside) the forward vehicle 66 without overtaking the forward vehicle 66 may also be generated as the dynamic driving trajectory. Furthermore, multiple candidates may be generated as the dynamic driving trajectory. In this case, the candidate with the lowest cost is selected from the multiple candidates in S7, which will be described later.

[0060] 6, the calculation method of the dynamic driving trajectory 67 will be explained as an example. First, the CPU 51 calculates a first trajectory L1 required for the vehicle to start turning the steering wheel and move to the right lane, and then return the steering wheel position to a straight-ahead direction. 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 then calculating a trajectory using a clothoid curve or a circular arc that is as smooth as possible and minimizes the distance required for the lane change, under the condition that the lateral G does not interfere with the automatic driving assistance and does not exceed an upper limit (e.g., 0.2 G) that does not cause discomfort to the vehicle occupants. Another condition is that an appropriate inter-vehicle distance N or more must be maintained between the vehicle and the preceding vehicle 66. Next, a second trajectory L2 is calculated, which is the trajectory for traveling in the right lane at the upper limit of the speed limit to overtake the preceding vehicle 66 and maintain an appropriate inter-vehicle distance N or more between the preceding vehicle 66. The second trajectory L2 is basically a straight trajectory, and the length of the trajectory is calculated based on the speed of the preceding vehicle 66 and the speed limit of the road. Next, a third trajectory L3 is calculated, which is required to start turning the steering wheel and return to the left lane, and to return the steering position to a straight-ahead direction. The third trajectory L3 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 or a circular arc, calculates a trajectory that is as smooth as possible and minimizes the distance required for the lane change, on the condition that the lateral G does not interfere with the automated driving assistance and does not exceed an upper limit (e.g., 0.2 G) that does not cause discomfort to the vehicle occupants. Another condition is that an appropriate inter-vehicle distance N or more must be maintained between the vehicle and the preceding vehicle 66. Furthermore, since the dynamic driving trajectory is generated based on the road conditions around the vehicle acquired by the exterior camera 39 and other sensors, the area for which the dynamic driving trajectory is generated is at least within the range (detection range) in which the road conditions around the vehicle can be detected by the exterior camera 39 and other sensors.

[0061] Next, in S7, the CPU 51 reflects the dynamic driving trajectory newly generated in S6 on the static driving trajectory generated in S3. Specifically, the CPU 51 calculates the costs of the static driving trajectory and the dynamic driving trajectory (there may be multiple candidates for the dynamic driving trajectory) from the current vehicle position to the end of the section including the "factors that affect the vehicle's driving," and selects the driving trajectory with the smallest cost. As a result, part of the static driving trajectory is replaced with the dynamic driving trajectory as needed. Note that, depending on the situation, the dynamic driving trajectory may not be replaced, i.e., the static driving trajectory generated in S3 may not change even if the dynamic driving trajectory is reflected. Furthermore, if the dynamic driving trajectory and the static driving trajectory are the same trajectory, the static driving trajectory generated in S3 may not change even if the dynamic driving trajectory is replaced.

[0062] Next, in S8, the CPU 51 corrects the vehicle speed plan generated in S4 for the static driving trajectory after the dynamic driving trajectory has been reflected in S7, based on the contents of the reflected dynamic driving trajectory. Note that if the static driving trajectory generated in S3 remains unchanged as a result of reflecting the dynamic driving trajectory, the processing of S8 may be omitted.

[0063] Next, in S9, the CPU 51 calculates control amounts for the vehicle to travel on the static traveling trajectory generated in S3 (or the trajectory after reflection if the dynamic traveling trajectory has been reflected in S7) at a speed in accordance with the speed plan generated in S4 (or the revised plan if the speed plan has been revised in S8). Specifically, control amounts for the accelerator, brake, gear, and steering are calculated. Note that the processing of S9 and S10 may be performed by the vehicle control ECU 40 that controls the vehicle, rather than the navigation device 1.

[0064] Thereafter, in S10, the CPU 51 reflects the control amount calculated in S9. Specifically, the calculated control amount is transmitted to the vehicle control ECU 40 via the CAN. The vehicle control ECU 40 performs vehicle control of the accelerator, brake, gear, and steering based on the received control amount. As a result, driving assistance control is possible in which the vehicle travels along the static driving trajectory generated in S3 (or the trajectory after reflection if the dynamic driving trajectory has been reflected in S7) at a speed in accordance with the speed plan generated in S4 (or the revised plan if the speed plan has been modified in S8).

[0065] Next, in S11, the CPU 51 determines whether the vehicle has traveled a certain distance since the static travel trajectory was generated in S3. For example, the certain distance is set to 1 km.

[0066] Then, if it is determined that the vehicle has traveled a certain distance since the static travel trajectory was generated in S3 (S11: YES), the process returns to S2. After that, the static travel trajectory is generated again for a section within a predetermined distance from the current position of the vehicle along the planned travel route (S2 to S4). Note that in this embodiment, the static travel trajectory is repeatedly generated for a section within a predetermined distance from the current position of the vehicle along the travel route every time the vehicle travels a certain distance (for example, 1 km). However, if the distance to the destination is short, the static travel trajectory to the destination may be generated all at once at the start of travel.

[0067] 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 (S11: NO), it is determined whether or not to end assisted driving by autonomous driving assistance (S12). Assisted driving by autonomous driving assistance can be ended not only when the vehicle has arrived at the destination, but also when the user intentionally cancels (overrides) the assisted driving by autonomous driving assistance by operating an operation panel provided in the vehicle, or by operating the steering wheel or brakes.

[0068] If it is determined that the assisted driving by the autonomous driving assistance should be ended (S12: YES), the autonomous driving assistance program is ended. On the other hand, if it is determined that the assisted driving by the autonomous driving assistance should be continued (S12: NO), the process returns to S5.

[0069] Next, the sub-processing of the static traveling trajectory generation process executed in S3 will be described with reference to Fig. 7. Fig. 7 is a flowchart of the sub-processing program of the static traveling trajectory generation process.

[0070] 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 identify the current position of the vehicle 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 by a camera installed in the vehicle using image recognition, and then compares the detected white lines and road paint information with, for example, high-precision map information 16, thereby enabling the detection of the driving lane and the vehicle's position with high precision. Furthermore, if the vehicle is traveling on a road with multiple lanes, the lane in which the vehicle is traveling is also identified. Furthermore, if the vehicle is located in a parking lot, the specific position within the parking lot (e.g., the parking space in which the vehicle is located) and the vehicle's attitude (e.g., the vehicle's direction of travel, or, if located in a parking space, the orientation of the vehicle relative to the parking space) are also identified.

[0071] Next, in S22, the CPU 51 acquires information on lane shapes, dividing line information, intersections, etc., particularly for a section ahead in the vehicle's traveling direction for which a static traveling trajectory is to be generated (for example, a planned traveling route within a predetermined distance from the vehicle's current position), based on the high-precision map information 16 acquired in S2. The lane shapes and dividing line information acquired in S22 include information that particularly specifies how lanes that the vehicle can select as traveling targets are arranged relative to the road, and further includes information that specifies the number of lanes, the type and arrangement of dividing lines that separate the lanes, lane width, where and how the number of lanes will be increased or decreased if any, traffic divisions in the traveling direction for each lane, and road connections (specifically, the correspondence between the lanes included in the road before passing through the intersection and the lanes included in the road after passing through the intersection), etc.

[0072] Next, in S23, the CPU 51 constructs a lane network for the section ahead of the vehicle in the direction of travel for which a static driving trajectory is to be generated, based on the lane shape and lane marking information acquired in S22. Here, the lane network is a network that indicates the lane movement that the vehicle can select.

[0073] Here, as an example of constructing a lane network in S23, a case where a vehicle travels along the planned travel route shown in FIG. 8 will be described. The planned travel route shown in FIG. 8 is a route in which the vehicle travels straight from the current position of the vehicle, turns right at the next intersection 71, then turns right at the next intersection 72, and turns left at the next intersection 73. On the planned travel route shown in FIG. 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 the 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 the intersection 73. A lane network constructed for a section in which such lane movement is possible is shown in FIG. 9.

[0074] As shown in Fig. 9, the lane network divides the section that generates the static driving trajectory ahead in the vehicle's traveling direction into a plurality of sections (groups). Specifically, the division is made using the intersection entry position, intersection exit position, and positions where lanes increase or decrease as boundaries. Node points (hereinafter referred to as lane nodes) 75 are set for each lane located at the boundary of each divided section. Furthermore, links (hereinafter referred to as lane links) 76 that connect the lane nodes 75 are set. Note that the lane links 76 are basically set in the center of the lane when there is no crossing of lanes.

[0075] The lane network also includes information that identifies the correspondence between lanes included in the road before the intersection and lanes included in the road after the intersection, particularly by connecting lane nodes and lane links at the intersection. This information identifies the lanes that a vehicle can move between after passing the intersection and the lanes included in the road before the intersection. Specifically, this information indicates that a vehicle can move between lanes that correspond to lane nodes connected by lane links between lane nodes included in the road before the intersection and lane nodes included in the road after the intersection. To generate such a lane network, the high-precision map information 16 stores lane flags that indicate the correspondence between lanes for each combination of roads entering and leaving the intersection for each road connecting to the intersection. When constructing the lane network at S23, the CPU 51 references the lane flags to form connections between lane nodes and lane links at the intersection.

[0076] Note that while Figure 9 shows an example of a lane network constructed for roads, if a parking lot is included in the section for generating the static driving trajectory, a similar network (hereinafter referred to as an in-parking lot network) can be constructed for the parking lot. The in-parking lot network consists of parking lot nodes and parking lot links, and parking lot nodes are set at the entrances and exits of the parking lot, intersections where passages that vehicles can pass through intersect, corners of passages that vehicles can pass through (i.e., connection points between passages), and end points of passages. Meanwhile, parking lot links are set for passages that vehicles can pass through between parking lot nodes.

[0077] If multiple candidates for the planned driving route are acquired in S1, the lane network and the parking lot network are constructed for the multiple planned driving routes.

[0078] Next, in S24, the CPU 51 sets a start lane (start node) from which the vehicle will start moving for the lane node located at the start point of the lane network constructed in S23 (this also includes the parking lot network if the section for generating the static driving trajectory includes the parking lot; the same applies below), and sets a target lane (destination node) to which the vehicle will move for the lane node located at the end point of the lane network. If the start point of the lane network is a road with multiple lanes in each direction, the lane node corresponding to the lane in which the vehicle is currently located becomes the start lane. On the other hand, if the end point of the lane network is a road with multiple lanes in each direction, the lane node corresponding to the leftmost lane (for left-hand traffic) becomes the target lane. If the start point or end point of the lane network is within the parking lot, the start lane is set to the parking space or aisle in which the vehicle is currently located in the parking lot network, and the target lane is set to the parking space in which the vehicle will park or an aisle from which the vehicle can enter the parking space.

[0079] Thereafter, in S25, the CPU 51 refers to the lane network constructed in S23 and derives the route with the smallest lane cost (hereinafter referred to as the recommended route) from among the routes that continuously connect the start lane to the target lane. For example, the route is searched for from the target lane side using the Dijkstra algorithm. However, search methods other than the Dijkstra algorithm may be used as long as they can search for a route that continuously connects the start lane to the target lane. The derived recommended route becomes the lane movement mode of the vehicle that is recommended when the vehicle moves (information specifying the lane in which it is recommended to travel and the recommended position for lane movement).

[0080] Furthermore, the lane cost used in the route search is assigned to each lane link 76. The lane cost assigned to each lane link 76 has the length of the lane link 76 or the time required for movement as a reference value. In particular, in this embodiment, the length of the lane link (in meters) is used as the reference value for the lane cost. Furthermore, for lane links involving lane changes, a lane change cost (for example, 50) is added to the reference value. Note that the value of the lane change cost may be changed depending on the number of lane changes and the location of the lane changes. For example, it is possible to increase the value of the lane change cost added when a lane change is made near an intersection or when a lane change is made across two lanes.

[0081] If multiple candidates for the planned driving route are acquired in S1, the recommended route with the smallest lane cost is derived from the multiple planned driving routes. The derived recommended route is then used to determine the planned driving route.

[0082] Next, in S26, the CPU 51 performs a curve section travel trajectory generation process (FIGS. 10 and 11) described below. The curve section travel trajectory calculation process is a process for generating a travel trajectory recommended for traveling along the recommended route derived in S25, particularly for curve sections that include curves within the planned travel route for which a static travel trajectory is to be generated ahead of the vehicle's direction of travel. If the planned travel route includes multiple curve sections, a recommended travel trajectory is generated for each of the multiple curve sections. Here, the term "curve" includes not only a shape in which the road bends in an arc shape with a predetermined curvature, but also a shape in which the road bends at a predetermined angle such as a right angle (e.g., an L-shaped intersection). Meanwhile, in this embodiment, a curve is assumed where the vehicle travels within the same lane of the road, and curves at intersections where lanes end, around toll booths, and at entrances and exits to parking lots are excluded from the curves in S26.

[0083] Then, in S27, the CPU 51 generates a recommended driving trajectory for driving along the recommended route derived in S25 for sections other than the curved section. For example, for a driving trajectory in a section requiring lane changes, the CPU 51 sets the lane change location so that lane changes are minimized and performed as far away from intersections as possible. Furthermore, when generating a driving trajectory for turning right or left or changing lanes at an intersection, the CPU 51 calculates the lateral acceleration (lateral G) acting on the vehicle and calculates a trajectory that connects the lanes as smoothly as possible using a clothoid curve, provided that the lateral G does not exceed an upper limit (e.g., 0.2 G) that does not interfere with the automated driving assistance and does not cause discomfort to vehicle occupants. By performing the above processing, a driving trajectory recommended for the vehicle is generated for roads included in the planned driving route. For sections that are not curved sections, sections requiring lane changes, or sections within intersections, the recommended driving trajectory for the vehicle is a trajectory that passes through the center of the lanes. In addition, if the targets for generating a static driving trajectory include entering or leaving a parking space, a driving trajectory for entering or leaving the parking space is also generated.

[0084] In S28, the CPU 51 generates a static driving trajectory, which is a driving trajectory that is recommended for the vehicle to travel on roads included in the planned driving route, by combining the driving trajectories calculated in S26 and S27. The static driving trajectory generated in S28 is stored in the flash memory 54 or the like as assistance information used for autonomous driving assistance. Then, the process proceeds to S4, where various driving assistance is performed based on the generated static driving trajectory.

[0085] Next, the sub-processing of the curve section travel trajectory calculation process executed in S26 will be described with reference to Fig. 10. Fig. 10 is a flowchart of the sub-processing program of the curve section travel trajectory calculation process.

[0086] First, in S31, the CPU 51 acquires information specifying the driving area in which the vehicle will travel, targeting the section ahead in the vehicle's direction of travel for which a static driving trajectory is to be generated, based on the high-precision map information 16 acquired in S2. Specifically, information specifying the positions of the left and right dividing lines of the lane in which the vehicle will travel when traveling according to the lane movement mode selected in S25 (road edges for one-lane roads or roads without lane divisions) is acquired.

[0087] Next, in S32, the CPU 51 calculates the center line of the lane in which the vehicle will travel, targeting the section ahead in the vehicle's direction of travel for which a static travel trajectory is to be generated, based on the travel area information acquired in S31. For example, it is possible to calculate the center line of the travel area from the left and right dividing lines or the positions of the road edges. However, it is also possible to calculate the center line for each lane in advance and store it in the high-precision map DB 13, rather than calculating it from the dividing lines.

[0088] Next, in S33, the CPU 51 calculates a moving average line of the lane along which the vehicle will travel, targeting the section ahead in the vehicle's direction of travel for which a static travel trajectory is to be generated, based on the center line calculated in S32. The moving average line is a line connecting the average points of a predetermined number of consecutive coordinate points arranged along the center line of the lane. More specifically, for each coordinate point set at a predetermined interval along the center line, the CPU 51 calculates the average point (a point obtained by averaging the latitude and longitude) of five coordinate points, including the two coordinate points before and after that point, and uses the line connecting these average points as the moving average line. However, instead of calculating the moving average line from the center line, it is also possible to calculate the moving average line for each lane in advance and store the line in the high-precision map DB 13.

[0089] Furthermore, in S34, the CPU 51 compares the center line calculated in S32 with the moving average line calculated in S33, and detects a range where the center line and the moving average line do not coincide as a range where a curve exists. Here, FIG. 12 is a diagram showing an example of the center line 81 and the moving average line 82 calculated in S31 and S32. As described above, the moving average line 82 is a line connecting five average points (points obtained by averaging the latitude and longitude) of five coordinate points, including two coordinate points before and after each coordinate point set at a predetermined interval along the center line 81. Therefore, in a section where the center line 81 is arranged linearly, the center line 81 and the moving average line 82 coincide. However, as shown in FIG. 12, there are ranges where the center line 81 and the moving average line 82 do not coincide at points where the road bends in an arc or at a predetermined angle. Therefore, in S34, a range where the center line 81 and the moving average line 82 do not coincide is detected as a range where a curve exists.

[0090] In S34, the CPU 51 detects a curve in the section for generating the static travel trajectory ahead of the vehicle in the traveling direction by comparing the center line 81 with the moving average line 82. However, it is also possible to detect the curve based on map information. In this case, the map information is made to include in advance information for identifying the position of the curve (for example, information for identifying the link corresponding to the curve and the coordinates of the start and end points of the curve).

[0091] Next, in S35, the CPU 51 determines whether or not there is at least one curve in the section for which the static travel trajectory ahead in the traveling direction of the vehicle is to be generated based on the detection result of S34.

[0092] If it is determined that there is at least one curve in the section ahead of the vehicle's traveling direction for which a static traveling trajectory is to be generated (S35: YES), the process proceeds to S36. On the other hand, if it is determined that there is no curve in the section ahead of the vehicle's traveling direction for which a static traveling trajectory is to be generated (S35: NO), the process proceeds to S27, where a traveling trajectory recommended for traveling along the recommended route derived in S25 is generated.

[0093] In S36, the CPU 51 determines, based on the detection result of S34, whether or not there are at least two or more consecutive curves spaced apart by a predetermined distance (e.g., 30 m) in the section ahead of the vehicle in which the static travel trajectory is to be generated. Specifically, as shown in Fig. 13, the conditions are that there are two or more ranges where the center line 81 and the moving average line 82 do not coincide, and the center line 81 and the moving average line 82 coincide within that range (when they do not coincide, the ranges are considered to be a single curve, not multiple consecutive curves), and the distance between them is within a predetermined distance. For example, if there is a crank or S-shaped curve in the section ahead of the vehicle in which the static travel trajectory is to be generated, the determination is YES.

[0094] If it is determined that there are at least two or more consecutive curves spaced apart within a predetermined distance in the section for which the static travel trajectory is to be generated ahead of the vehicle (S36: YES), the process proceeds to S50. On the other hand, if it is determined that there are not two or more consecutive curves spaced apart within a predetermined distance (S36: NO), the process proceeds to S37.

[0095] In S37 and subsequent steps, a recommended driving trajectory for driving through a curve section including discontinuous curves detected as described above is generated by the following process. If multiple discontinuous curves are detected, the following process is executed for each curve section corresponding to all of the detected curves to generate a driving trajectory.

[0096] First, in S37, the CPU 51 acquires a start vector that identifies the position and orientation of the vehicle at the start of the curve section when traveling along the planned route in accordance with the lane movement pattern selected in S25, and an end vector that identifies the position and orientation of the vehicle at the end of the curve section.

[0097] The positions of the start and end points of this curve section may be changed as appropriate depending on the lane movement mode selected in S25, or may be set under fixed conditions regardless of the lane movement mode. For example, the start point of the curve section may be set to a point a predetermined distance (e.g., 20 m) before the start point of the section where the center line 81 and the moving average line 82 no longer coincide, and the end point of the curve section may be set to a point a predetermined distance in the direction of travel from the end point of the section where the center line 81 and the moving average line 82 no longer coincide. Also, if the current position of the vehicle is before the curve, the current position of the vehicle may be set to the start point of the curve section. Furthermore, the map information may include information identifying the curve section along with the curve (e.g., information identifying the link included in the curve section and the coordinates of the start and end points of the curve section), and the curve section may be set based on the map information.

[0098] Here, the positions of the start vector and end vector along the traveling direction of the road (front-rear positions) correspond to the start point and end point of the curve section described above. On the other hand, the positions of the start and end vectors in the road width direction are basically set to the center of the lane on which the vehicle is traveling (which also corresponds to the center of the road for one-lane roads or roads with no lane divisions). Furthermore, the orientation of the start vector and end vector is basically set to be parallel to the traveling direction of the road (direction of the road length). However, this does not apply in cases where special vehicle operations such as lane changes or right / left turns are required before a curved section, and the positions of the start and end vectors in the road width direction may be set to the left or right of the center of the lane, and the orientation may also be set at an angle to the direction of travel of the road.

[0099] 12 is a diagram showing an example of a start vector 83 and an end vector 84 that are set for a curve section that includes a curve that bends at a right angle. In the example shown in Fig. 12, the start vector 83 is set to the center of the lane a predetermined distance before the start point of the section where the center line 81 and the moving average line 82 no longer coincide, and the end vector 84 is set to the center of the lane a predetermined distance in the direction of travel from the end point of the section where the center line 81 and the moving average line 82 no longer coincide. Note that the orientations of the start vector 83 and the end vector 84 are both parallel to the direction of travel of the road (the direction of the road length).

[0100] Thereafter, in S38, the CPU 51 sets a clipping point (passing point) 85 between the moving average line calculated in S33 and the lane marking on the inside of the curve. Here, the clipping point 85 can be set as appropriate between each coordinate point arranged along the center line 81 and the lane marking on the inside of the curve, or more appropriately, between the moving average line and the lane marking on the inside of the curve. For example, as shown in FIG. 14, the clipping point 85 is set to the point of closest contact of the lane marking 86 on the inside of the curve to the moving average line 82. Note that, as shown in FIG. 12, the moving average line 82 is basically closer to the lane marking on the inside of the curve than the center line 81. Therefore, if the clipping point 85 is set between the moving average line 82 and the lane marking on the inside of the curve, the clipping point 85 will be located between each coordinate point arranged along the center line 81 and the lane marking on the inside of the curve. However, the example shown in Figure 14 assumes that the vehicle width is 0, and if the vehicle width is taken into consideration, it is desirable to set the clipping point 85 at a position that is 1 / 2 the vehicle width toward the center line from the closest point of the dividing line 86 on the inside of the curve to the moving average line 82, or at a position that is 1 / 2 the vehicle width + α (for example, 30 cm) toward the center line, taking into account errors, etc.

[0101] Next, in S39, the CPU 51 generates a new candidate start vector other than the start vector acquired in S37 at the start point of the curve section for which the traveling trajectory is to be generated. Furthermore, a new candidate end vector other than the end vector acquired in S37 is generated at the end point of the curve section. For example, in the example shown in FIG. 15 , a new start vector 91 is generated at a point that is a predetermined distance (e.g., ¼ or ⅙ of the lane width) toward the outside of the curve from the original start vector 83, and a new start vector 92 is generated at a point that is a further predetermined distance (e.g., ¼ or ⅙ of the lane width) toward the outside of the curve. Similarly, a new end vector 93 is generated at a point that is a predetermined distance (e.g., ¼ or ⅙ of the lane width) toward the outside of the curve from the original end vector 84, and a new end vector 94 is generated at a point that is a further predetermined distance (e.g., ¼ or ⅙ of the lane width) toward the outside of the curve. In the example shown in Fig. 15, two candidates for the new start vector and end vector are generated, but only one or three or more may be generated. It is also possible to generate them on the inside of the curve. Generating more candidates for the new start vector and end vector increases the possibility of generating a more appropriate driving trajectory, but on the other hand, the processing load related to calculating the driving trajectory increases because there are more candidates for the driving trajectory.

[0102] The subsequent processes of S40 to S46 are executed for each combination of the start vector and end vector obtained in S37 and newly generated in S38. For example, in the example shown in Fig. 15, there are three start vectors and three end vectors, so the processes of S40 to S46 are executed for all nine 3x3 combinations. Then, after the processes of S40 to S46 have been executed for all combinations of start vectors and end vectors, the process proceeds to S47.

[0103] First, in S40, the CPU 51 calculates the arc with the maximum radius of curvature that passes through the start and end vectors to be processed in the direction of progression of each vector (that is, the tangent direction of the arc coincides with the direction of progression of each vector).

[0104] Thereafter, in S41, the CPU 51 determines whether or not the arc calculated in S40 is included in the lane in which the vehicle is traveling between the start vector and the end vector (within the traveling area acquired in S31).

[0105] If it is determined that the arc calculated in S40 is included within the lane in which the vehicle is traveling between the start vector and the end vector (within the driving area acquired in S31) (S41: YES), the process proceeds to S42. On the other hand, if it is determined that the arc calculated in S40 is not included within the lane in which the vehicle is traveling between the start vector and the end vector (within the driving area acquired in S31) (S41: NO), the process proceeds to S43.

[0106] In S42, the CPU 51 generates, as a first driving trajectory, an arc between the start vector and the end vector calculated in S40. For example, the example shown in Fig. 16 is an example in which the arc 95 calculated in S40 is included in the lane in which the vehicle is traveling between the start vector 83 and the end vector 84 (within the driving area acquired in S31), and the arc 95 is generated as the first driving trajectory. Then, the process proceeds to S44.

[0107] On the other hand, in S43, the CPU 51 generates a new arc that passes through the clipping point 85 set in S38 because the arc calculated in S40 is a trajectory that extends beyond the driving area and cannot be used, and further generates a driving trajectory that connects to the new arc by moving straight along the road's traveling direction toward the start vector and end vector to be processed, as a first driving trajectory. For example, the example shown in Figure 17 is an example in which the arc 95 calculated in S40 is not included within the lane in which the vehicle is traveling between the start vector 83 and the end vector 84 (within the driving area acquired in S31), and a trajectory 96 that passes through the clipping point 85 is generated as the first driving trajectory. Note that the conditions for the arc of the trajectory 96 are that the curvature is as small as possible and that the trajectory 96 does not switch turning directions (does not include multiple turning operations).

[0108] Thereafter, in S44, the CPU 51 generates a second running trajectory for moving from the start vector acquired in S37 to the first running trajectory generated in S42 or S43. Note that, as shown in FIGS. 16 and 17, if the start vector to be processed is the start vector acquired in S37, the second running trajectory becomes part of the first running trajectory, and the processing of S44 is unnecessary. On the other hand, as shown in FIG. 18, if the start vector to be processed is not the start vector acquired in S37 (the start vector newly added in S39), a second running trajectory is generated. For example, in the example shown in FIG. 18, the first running trajectory 96 is generated using a new start vector 92 set to the left of the center of the lane as the processing target, and a new second running trajectory 97 is generated that moves from the original start vector 83 to the first running trajectory 96.

[0109] Next, in S45, the CPU 51 generates a third running trajectory for moving from the first running trajectory generated in S42 or S43 to the end vector acquired in S37. Note that, as shown in FIGS. 16 and 17, if the end vector to be processed is the end vector acquired in S37, the third running trajectory becomes part of the first running trajectory, and the processing of S45 is unnecessary. On the other hand, as shown in FIG. 18, if the end vector to be processed is not the end vector acquired in S37 (the end vector newly added in S39), a third running trajectory is generated. For example, in the example shown in FIG. 18, the first running trajectory 96 is generated by processing a new end vector 94 set to the left of the center of the lane, and a new third running trajectory 98 is generated that moves from the first running trajectory 96 to the original end vector 84.

[0110] Here, the recommended vehicle trajectory when the vehicle moves to the right or left within the lane, such as the second trajectory or the third trajectory, includes a clothoid curve with a continuously changing curvature. More specifically, it is a trajectory that connects multiple clothoid curves with different shapes. Figure 19 is a diagram showing, for example, the recommended vehicle trajectory when moving to the right within the lane (note that when moving to the left, the trajectory is symmetrical). As shown in Figure 19, the recommended vehicle driving trajectory when moving to the right within the lane consists of a first clothoid curve 101 that proceeds from the start point P1 of the movement to the first relay point P2 while gradually turning the steering wheel to the right (i.e., while the curvature gradually changes to a larger value), a second clothoid curve 102 that proceeds from the first relay point P2 to the intermediate point P3 while gradually returning the steering wheel to a straight-ahead direction (i.e., while the curvature gradually changes to a smaller value), a third clothoid curve 103 that proceeds from the intermediate point P3 to the second relay point P4 while gradually turning the steering wheel to the left (i.e., while the curvature gradually changes to a larger value), and then a fourth clothoid curve 104 that proceeds from the second relay point P4 to the end point P5 of the movement while gradually returning the steering wheel to a straight-ahead direction (i.e., while the curvature gradually changes to a smaller value). The width of lateral movement due to the clothoid curves 101-104 is the distance that overlaps with the first running trajectory at time P5 in the case of the second running trajectory, and the distance that overlaps with the initial end vector 84 at time P5 in the case of the third running trajectory.The CPU 51 then calculates each of the clothoid curves 101-104 so that the acceleration (lateral G) generated when moving within the lane does not exceed an upper limit (e.g., 0.2 G) that does not cause discomfort to vehicle occupants, and further so that the clothoid curve is used to create a trajectory that is as smooth as possible and minimizes the distance required for changing lanes.The second and third running trajectories are then calculated by connecting the calculated clothoid curves 101-104.

[0111] Thereafter, in S46, the CPU 51 connects the first driving trajectory generated in S42 or S43, the second driving trajectory generated in S44 (only if a second driving trajectory was generated), and the third driving trajectory generated in S45 (only if a third driving trajectory was generated) to form a single driving trajectory. The driving trajectory generated in S46 is a "candidate driving trajectory recommended for driving through a curved section" generated for the combination of the start vector and end vector to be processed. For example, FIG. 18 shows an example of a "candidate driving trajectory recommended for driving through a curved section" that connects a first driving trajectory 96, a second driving trajectory 97, and a third driving trajectory 98.

[0112] Similarly, for each combination of start vector and end vector obtained in S37 and newly generated in S38, a "candidate for recommended driving trajectory when driving on a curved section" is generated, and after "candidate for recommended driving trajectory when driving on a curved section" has been generated for all combinations of start vector and end vector, the process proceeds to S47.

[0113] Thereafter, in S47, the CPU 51 calculates the cost of vehicle travel for each of the multiple travel trajectory candidates generated in S46, taking into consideration the vehicle behavior when traveling. The cost indicates the suitability of the travel trajectory, and the smaller the cost, the higher the suitability of the travel trajectory. An example of the cost calculation method in S47 will be described below.

[0114] Specifically, the final cost for each candidate travel trajectory is calculated by adding up the costs calculated based on the following elements (1) to (3). (1) Travel time (or distance) - Travel time [s] x 1.0 (2) Maximum curvature...Maximum curvature x 0.1 (3) Number of times the steering direction is changed: Number of times x 5.0

[0115] First, for (1), the cost is determined by the travel time of the travel path. Specifically, the longer the time required to travel the travel path, the higher the calculated cost, i.e., the less likely it is to be selected as a recommended travel path. Furthermore, assuming that the vehicle speed when traveling through curved sections is constant, the travel time of the travel path also corresponds to the length of the travel distance.

[0116] For (2), the maximum curvature of the curve included in the driving trajectory is calculated. Then, the cost is calculated based on the calculated maximum curvature. Specifically, the greater the maximum curvature of the driving trajectory, the sharper the turns that are made when driving on the driving trajectory, which places a greater burden on the occupants, and therefore a higher cost is calculated, meaning that the driving trajectory is less likely to be selected as a recommended driving trajectory.

[0117] Regarding (3), the cost is determined according to the number of times the steering direction is changed within the driving trajectory. Specifically, the more times the steering direction is changed, the higher the calculated cost, i.e., the less likely it is to be selected as a recommended driving trajectory.

[0118] When calculating the cost for the candidate travel path in S47, the cost may be calculated by considering only some of the above elements (1) to (3) rather than all of the above elements (1) to (3). For example, the total value of the costs of (1) and (2) may be calculated. Furthermore, the cost may be calculated using elements other than the above elements (1) to (3) (for example, the presence or absence of acceleration / deceleration, the amount of steering rotation, etc.).

[0119] Then, in S48, the CPU 51 compares the costs calculated in S47 and selects a recommended driving trajectory for traveling along a curved section from among the multiple driving trajectory candidates generated in S46. Basically, the driving trajectory candidate with the smallest calculated cost is selected as the recommended driving trajectory. Then, the process proceeds to S27, where a driving trajectory recommended for traveling along the recommended route derived in S25 for sections other than curved sections is generated.

[0120] On the other hand, if it is determined in S36 that there are at least two or more consecutive curves spaced apart by a predetermined distance or less in the section ahead of the vehicle in the direction of travel for which a static driving trajectory is to be generated (S36: YES), the following processing is performed for the curve section including the detected consecutive curves to generate a driving trajectory recommended for driving through the curve section. Note that if multiple sets of consecutive curves are detected, the following processing is performed for each curve section corresponding to all of the detected curves to generate a driving trajectory. Furthermore, if both consecutive curves and discontinuous curves are detected, in addition to the processing from S37 onwards described above, the processing from S50 onwards is performed.

[0121] First, in S50, the CPU 51 divides consecutive curves at their midpoints. Specifically, as shown in FIGS. 20 and 21, if there are two ranges where the center line 81 and the moving average line 82 do not coincide, i.e., two ranges detected as curves in S34, each of which is spaced apart by a predetermined distance (e.g., 30 m), the CPU 51 divides the curve at a point (hereinafter referred to as the midpoint) that is located in the middle (equidistant) of each range. Note that, at the dividing midpoint, the center line 81 and the moving average line 82 coincide (if they do not coincide, they are considered to be a single curve, not multiple consecutive curves). Also, although FIGS. 20 and 21 show a case where two consecutive curves exist, in a case where three or more consecutive curves exist, the curves are divided at the midpoint of each curve.

[0122] Next, in S51, the CPU 51 compares the bending directions of the multiple curves divided in S50 and determines whether the bending directions are the same. Note that Fig. 20 shows a case where there are successive curves with different bending directions, while Fig. 21 shows a case where there are successive curves with the same bending direction.

[0123] If it is determined in S50 that the curves divided in different directions turn in different directions (S51: NO), a junction point for the curves is set at the midpoint on the center line of the lane along which the vehicle is to travel (S52). Note that the junction point can be set anywhere within the lane along which the vehicle is to travel and on a line segment in the width direction of the road at the midpoint of the curve, but in this embodiment, the junction point is set at a point that is particularly recommended for connecting the travel trajectories of the vehicles traveling on each curve. For example, Figure 20 shows a series of curves with different turning directions, and as shown in Figure 20, a junction point 105 is set at the midpoint (the dividing point of the curve) and on the center line of the lane along which the vehicle is to travel.

[0124] On the other hand, if it is determined in S50 that the curves divided in the same direction are in the same direction (S51: YES), a junction point for the curves is set at the midpoint, outside the center line of the lane on which the vehicle is to travel (S53). As in S52, the junction point is set at a point recommended for connecting the travel trajectories of the vehicles traveling on each curve. For example, FIG. 21 shows a case in which there are successive curves with the same turning direction, and as shown in FIG. 21, a junction point 105 is set at the midpoint (the dividing point of the curve) outside the curve on the center line of the lane on which the vehicle is to travel. The extent to which the position of the junction point 105 is shifted outside the curve from the center line can be set as appropriate, but may be, for example, 1 / 3 or 1 / 4 of the lane width.

[0125] Next, in S54, the CPU 51 acquires a start vector that identifies the position and orientation of the vehicle at the start of the curve section when traveling along the planned route in accordance with the lane movement pattern selected in S25, and an end vector that identifies the position and orientation of the vehicle at the end of the curve section.

[0126] The positions of the start and end points of this curve section may be changed as appropriate depending on the lane movement mode selected in S25, or may be set under fixed conditions regardless of the lane movement mode. For example, the start point of the curve section may be a predetermined distance (e.g., 20 m) before the start point of a section where the center line 81 of the curve furthest from the adjacent curves and the moving average line 82 no longer coincide, and the end point of the curve section may be a point a predetermined distance in the direction of travel from the end point of the section where the center line 81 of the curve furthest from the adjacent curves and the moving average line 82 no longer coincide. Furthermore, if the current position of the vehicle is just before the adjacent curves, the current position of the vehicle may be the start point of the curve section. Furthermore, the map information may include information identifying the curve section along with the curve (e.g., information identifying the link included in the curve section and the coordinates of the start and end points of the curve section), and the curve section may be set based on the map information.

[0127] Here, the positions of the start vector and end vector along the traveling direction of the road (front-rear positions) correspond to the start point and end point of the curve section described above. On the other hand, the positions of the start and end vectors in the road width direction are basically set to the center of the lane on which the vehicle is traveling (which also corresponds to the center of the road for one-lane roads or roads with no lane divisions). Furthermore, the orientation of the start vector and end vector is basically set to be parallel to the traveling direction of the road (direction of the road length). However, this does not apply in cases where special vehicle operations such as lane changes or right / left turns are required before a curved section, and the positions of the start and end vectors in the road width direction may be set to the left or right of the center of the lane, and the orientation may also be set at an angle to the direction of travel of the road.

[0128] Figure 20 is a diagram showing examples of start vector 83 and end vector 84 that are set for a curve section in which two consecutive curves with different turning directions occur. In the example shown in Figure 20, start vector 83 is set at the center of the lane a predetermined distance before the start of the section where center line 81 of the first curve and moving average line 82 no longer coincide, and end vector 84 is set at the center of the lane a predetermined distance in the direction of travel from the end of the section where center line 81 of the second curve and moving average line 82 no longer coincide. Note that the orientations of start vector 83 and end vector 84 are both parallel to the direction of travel of the road (the direction of the road length).

[0129] 21 is a diagram showing examples of start vector 83 and end vector 84 that are set for a curve section where two consecutive curves with the same turning direction are present. In the example shown in Fig. 21, start vector 83 is set at the center of the lane a predetermined distance before the start of the section where center line 81 of the first curve and moving average line 82 no longer coincide, and end vector 84 is set at the center of the lane a predetermined distance in the direction of travel from the end of the section where center line 81 of the second curve and moving average line 82 no longer coincide. Note that the orientations of start vector 83 and end vector 84 are both parallel to the direction of travel of the road (the direction of the road length).

[0130] Thereafter, in S55, the CPU 51 adds a new start vector and an end vector to the junction 105 set in S52 or S53. As a result, for a curve section in which two curves with different turning directions are consecutive as shown in Fig. 22, a new end vector 106 is set for the divided first half curve section at the position of the junction 105 shown in Fig. 20 (i.e., the center of the lane at the midpoint), and a new start vector 107 is set for the divided second half curve section at the position of the junction 105 shown in Fig. 20 (i.e., the center of the lane at the midpoint). Similarly, for a curve section in which two curves with the same turning direction are consecutive as shown in Fig. 23, a new end vector 106 is set for the divided first half curve section at the position of the junction 105 shown in Fig. 21 (i.e., on the outside of the curve from the center of the lane at the midpoint), and a new start vector 107 is set for the divided second half curve section at the position of the junction 105 shown in Fig. 21 (i.e., on the outside of the curve from the center of the lane at the midpoint). 22 and subsequent figures, the curve section is divided at the midpoint into the first and second halves, and shown as being spaced apart. The directions of the new start vector 107 and end vector 106 are both parallel to the direction of travel of the road (the direction of the road length).

[0131] Next, in S56, the CPU 51 generates a new candidate start vector other than the start vector acquired in S54 at the start point of the curve section for which the travel trajectory is to be generated. Furthermore, a new candidate end vector other than the end vector acquired in S54 is generated at the end point of the curve section. Details are the same as in S39. A new start vector 91 is generated at a point that is a predetermined distance (e.g., 1 / 4 or 1 / 6 of the lane width) outside the curve from the original start vector 83, and a new start vector 92 is generated at a point that is a further predetermined distance (e.g., 1 / 4 or 1 / 6 of the lane width) outside the curve (see FIG. 15). Similarly, a new end vector 93 is generated at a point that is a predetermined distance (e.g., 1 / 4 or 1 / 6 of the lane width) outside the curve from the original end vector 84, and a new end vector 94 is generated at a point that is a further predetermined distance (e.g., 1 / 4 or 1 / 6 of the lane width) outside the curve.

[0132] Furthermore, in S56, the CPU 51 similarly generates new candidates for the start vector and end vector for the start vector and end vector added to the junction in S55. However, in a curve section where two consecutive curves with the same turning direction are present as shown in Fig. 24, since the end vector 106 and the start vector 107 are already positioned closer to the outside of the curve than the center of the lane, new candidates for the start vector and end vector are generated inward of the curve from the original end vector 106 and start vector 107. Specifically, a new end vector 108 is generated at a point that is moved a predetermined distance (e.g., 1 / 4 or 1 / 6 of the lane width) inward of the curve from the original end vector 106, and a new end vector 109 is generated at a point that is further moved a predetermined distance (e.g., 1 / 4 or 1 / 6 of the lane width) inward of the curve. Similarly, a new start vector 110 is generated at a point moved a predetermined distance (for example, 1 / 4 or 1 / 6 of the lane width) toward the inside of the curve from the original start vector 107, and a new start vector 111 is generated at a point moved a further predetermined distance (for example, 1 / 4 or 1 / 6 of the lane width) toward the inside of the curve. In the example shown in FIG. 24, two candidates for the new start vector and end vector are generated, but only one or three or more may be generated. They may also be generated toward the outside of the curve. Generating more candidates for the new start vector and end vector increases the possibility of generating a more appropriate driving trajectory, but on the other hand, the processing load related to calculating the driving trajectory increases because there are more candidates for the driving trajectory.

[0133] The subsequent steps S57 to S63 are executed for each curve section divided in S50 and for each combination of start vectors and end vectors located at the start and end points of the divided curve section. For example, in the examples shown in Figures 22 and 23, the curve section is divided into two, and there are three start vectors and three end vectors at junctions in the first curve section, and three start vectors and three end vectors at junctions in the second curve section, so the steps S57 to S63 are executed for a total of 27 possible combinations (3 x 3 x 3). After the steps S57 to S63 have been executed for all the divided curve sections and combinations of start vectors and end vectors, the program proceeds to S64.

[0134] First, in S57, the CPU 51 calculates the arc with the maximum radius of curvature that passes through the start and end vectors of the divided curve section to be processed in the direction of travel of each vector (i.e., the tangent direction of the arc coincides with the direction of travel of each vector).

[0135] Thereafter, in S58, the CPU 51 determines whether or not the arc calculated in S57 is included in the lane in which the vehicle is traveling between the start vector and the end vector (within the traveling area acquired in S31).

[0136] If it is determined that the arc calculated in S57 is included within the lane in which the vehicle is traveling between the start vector and the end vector (within the driving area acquired in S31) (S58: YES), the process proceeds to S59. On the other hand, if it is determined that the arc calculated in S57 is not included within the lane in which the vehicle is traveling between the start vector and the end vector (within the driving area acquired in S31) (S58: NO), the process proceeds to S60.

[0137] In S59, the CPU 51 generates a first running trajectory for the arc between the start vector and the end vector calculated in S57. Details are the same as in S42 (FIG. 16), so they will be omitted. Then, the process proceeds to S61.

[0138] On the other hand, in S60, the CPU 51 generates a new arc that passes through the clipping point because the arc calculated in S57 is a trajectory that extends beyond the driving area and cannot be used. Furthermore, the CPU 51 generates a driving trajectory that connects to the new arc by moving straight along the road's direction of travel to the start vector and end vector of the target vehicle, as a first driving trajectory. Details are the same as in S43 (FIG. 17), so they are omitted here. The method for setting the clipping point is the same as in S38. Then, the process proceeds to S61.

[0139] In S61, the CPU 51 generates a second running trajectory for moving from the start vector acquired in S54 or S55 to the first running trajectory generated in S59 or S60. Note that if the start vector to be processed is the start vector acquired in S54 or S55, the second running trajectory becomes part of the first running trajectory, and therefore the processing of S61 is unnecessary. Details are the same as those of S44 (FIG. 18), and therefore will be omitted.

[0140] Next, in S62, the CPU 51 generates a third running trajectory for moving from the first running trajectory generated in S59 or S60 to the end vector acquired in S54 or S55. Note that if the end vector to be processed is the end vector acquired in S54 or S55, the third running trajectory becomes part of the first running trajectory, and therefore the processing of S62 is unnecessary. Details are the same as those of S45 (FIG. 18), and therefore will be omitted.

[0141] Thereafter, in S63, the CPU 51 connects the first driving trajectory generated in S59 or S60, the second driving trajectory generated in S61 (only if a second driving trajectory has been generated), and the third driving trajectory generated in S62 (only if a third driving trajectory has been generated) to form a single driving trajectory. The driving trajectory generated in S63 is a "candidate driving trajectory recommended for driving through the divided curve section" generated for the combination of the start vector and end vector of the divided curve section to be processed.

[0142] Similarly, for each curve section divided in S50, and for each combination of start vector and end vector located at the start point and end point of the divided curve section, a "candidate for recommended driving trajectory when driving through the divided curve section" is generated, and after "candidate for recommended driving trajectory when driving through the divided curve section" has been generated for all divided curve sections and combinations of start vector and end vector, the process proceeds to S64.

[0143] In S64, the CPU 51 combines and connects all possible combinations of the "candidate driving trajectories recommended for traveling through the divided curved section" generated in S63, including the candidate driving trajectories recommended for traveling through the first half of the curved section from the start point of the curved section to the junction point (hereinafter referred to as the "candidate driving trajectory") and the candidate driving trajectory recommended for traveling through the second half of the curved section from the junction point to the end point of the curved section (hereinafter referred to as the "candidate driving trajectory"), to generate "candidate driving trajectories recommended for traveling through a curved section including consecutive curves." However, the combinations to be connected are those in which the end vector of the candidate driving trajectory for the first half matches the start vector of the candidate driving trajectory for the second half, i.e., combinations in which the trajectories are connected at the junction point. For example, if a curved section is divided into two, and there are three start vectors and three end vectors at the junction in the first half of the curved section, and three start vectors and three end vectors at the junction in the second half of the curved section, there will be a total of 27 possible combinations (3 x 3 x 3), and a total of 27 "candidate recommended driving trajectories when driving through a curved section that includes consecutive curves" will be generated. Note that the same applies when the curved section is divided into three or more sections, and the candidate recommended driving trajectories for each curved section will be combined and connected at the junction.

[0144] Furthermore, in S64, the CPU 51 smoothes the generated "candidate driving trajectory recommended for traveling through a curve section including consecutive curves" if smoothing is possible before comparing costs in S65 and S66 (described later). Specifically, as shown in FIG. 25, the target is a case in which consecutive curves have different turning directions, and when combining the first half driving trajectory candidate 115 and the second half driving trajectory candidate 116 results in a driving trajectory in which lateral movement and straight movement are repeated near the junction 105 connecting the respective trajectory candidates, the driving trajectory is smoothed by correcting the driving trajectory to exclude sections of straight traveling along the center line 81 of the lane, particularly before and after the junction 105. That is, for the trajectory in the area surrounded by the dashed line in FIG. 25, which was "straight → lateral movement → straight → lateral movement → straight," the central straight portion is removed and a lateral-moving clothoid curve, as shown in FIG. 18, is used to connect the straight portions at both ends to "straight → lateral movement → straight." As a result, it is possible to correct the driving trajectory to one that reduces the maximum curvature and the number of times the steering direction needs to be changed.

[0145] Then, in S65, the CPU 51 calculates the cost of vehicle travel for each of the multiple travel trajectory candidates generated in S64 and modified as necessary, taking into account the vehicle behavior when traveling. The cost indicates the suitability of the travel trajectory, and the smaller the cost, the higher the suitability of the travel trajectory. The details are the same as in S47, and the final cost for each travel trajectory candidate is calculated by adding up the costs calculated based on each of the elements (1) to (3).

[0146] Then, in S66, the CPU 51 compares the costs calculated in S65 and selects a recommended driving trajectory for traveling along a curved section including consecutive curves from among the multiple driving trajectory candidates generated in S64. Basically, the driving trajectory candidate with the smallest calculated cost is selected as the recommended driving trajectory. Then, the process proceeds to S27, where a driving trajectory recommended for traveling along the recommended route derived in S25 for sections other than curved sections is generated.

[0147] As described above in detail, the navigation device 1 and the computer program executed by the navigation device 1 according to this embodiment acquire a planned driving route along which a vehicle will travel (S1). In particular, if the acquired planned driving route includes multiple consecutive curves, the navigation device 1 sets a junction of the multiple curves for a curve section including the multiple curves (S52, S53). A start vector that identifies the vehicle's position and orientation at the start of the curve section and an end vector that identifies the vehicle's position and orientation at the end of the curve section when traveling along the planned driving route are acquired (S54). A first half of the driving trajectory from the start vector to the junction and a second half of the driving trajectory from the junction to the end vector are combined to generate a recommended driving trajectory for the vehicle (S57-S66). Driving assistance for the vehicle is then provided based on the generated driving trajectory (S9, S10). This makes it possible to generate a recommended driving trajectory for the vehicle that minimizes sudden turns and deceleration when traveling through a curve section including multiple consecutive curves. As a result, appropriate driving assistance can be provided that does not burden the vehicle's occupants. In addition, map information including information about dividing lines is used to set recommended points between curves for connecting the driving trajectory of a vehicle traveling on each curve in a curved section including multiple curves as connecting points, so that it is possible to generate a driving trajectory that suppresses sudden turns and deceleration when traveling on a curved section including multiple consecutive curves based on the map information as a recommended driving trajectory for the vehicle. Furthermore, since the connection points are set based on the bending directions of a plurality of curves, it is possible to set the connection points at appropriate positions based on the bending directions of successive curves. Furthermore, when multiple curves have the same turning direction, a connecting point is set on the outside of the curve from the center line of the lane in which the vehicle is scheduled to travel (S53), making it possible to set a connecting point at an appropriate position for a curve section in which multiple curves having the same turning direction are consecutive. Furthermore, when the curves have different turning directions, a connecting point is set on the center line of the lane in which the vehicle is scheduled to travel (S52), making it possible to set a connecting point at an appropriate position for a curve section in which there are a series of curves with different turning directions. In addition, costs are calculated for combinations of multiple candidate first half driving trajectories and multiple candidate second half driving trajectories (S65), and the calculated costs are compared to select and generate a combination of driving trajectories for which vehicle driving is recommended from among the combinations of multiple candidate first half driving trajectories and multiple candidate second half driving trajectories (S66).By calculating and comparing costs, it is possible to appropriately select one driving trajectory for which vehicle driving is most recommended from among the many combinations of candidate driving trajectories. Furthermore, for a combination of multiple candidate first half driving paths and multiple candidate second half driving paths, the smaller the curvature of the driving path or the shorter the travel time, the lower the cost calculated (S65). Therefore, it is possible to select a combination of candidate driving paths that places a small burden on the vehicle when driving, taking into account the vehicle behavior when driving, as the most recommended driving path for the vehicle to drive. In addition, when the turning directions of multiple curves are different, the driving trajectory combining the first half driving trajectory and the second half driving trajectory is corrected so that it does not include a section where the vehicle travels straight along the center line of the lane before and after the connecting point (S64). This makes it possible to reduce the maximum curvature and the number of times the steering direction is changed, thereby correcting the driving trajectory to a more recommended trajectory.

[0148] The present invention is not limited to the above-described embodiment, and it goes without saying that various improvements and modifications are possible within the scope of the present invention. For example, in this embodiment, a recommended driving trajectory is generated for a curve where the road bends in an arc shape with a predetermined curvature or a curve that bends at a predetermined angle without any branching or increase or decrease in the number of lanes, as shown in Figures 12 and 13. However, as long as the vehicle passes through the curve while traveling within the same lane of the road, there may be a branching or an increase or decrease in the number of lanes along the way. Also, for roads without lane divisions (no dividing lines), a driving trajectory can be generated in a similar manner by regarding the entire road as the lane on which the vehicle travels.

[0149] In this embodiment, the center line 81 and the moving average line 82 are identified based on map information, and the presence of a curve is identified by comparing the center line 81 and the moving average line 82 (S34), but the presence of a curve may also be identified by performing image recognition processing on an image captured by an outside-vehicle camera, for example. Furthermore, with regard to the junction point 105 to be set in a curve section including multiple consecutive curves, it is also possible to identify the midpoint of the multiple curves using an image captured by the outside-vehicle camera without using map information, and set the junction point 105 at that midpoint.

[0150] In addition, in this embodiment, the center line 81 is the center line of the lane on which the vehicle is traveling, but for a one-lane road or a road without lane divisions, it may be the center line of the road.

[0151] In this embodiment, when generating a travel trajectory for a curve section with a series of multiple curves, the curve section is divided at the midpoint of each curve (S50), but the division does not necessarily have to be at the midpoint between curves. The division position can also be changed depending on the shape of each curve.

[0152] Furthermore, in this embodiment, a driving trajectory for the curved section is generated using multiple patterns that the vehicle can take, and the cost of each generated driving trajectory is compared to determine the final recommended driving trajectory. However, it is also possible to generate a driving trajectory for the curved section using only one most recommended pattern, taking into consideration in advance the shape of the lane on which the vehicle will be traveling, etc.

[0153] In addition, in this embodiment, after generating a travel trajectory, vehicle control is performed to drive the vehicle according to the generated travel trajectory (S9, S10), but the processes related to vehicle control from S9 onwards may be omitted. For example, the navigation device 1 may be a device that guides the user along a recommended travel trajectory without controlling the vehicle based on the travel trajectory.

[0154] In addition, in this embodiment, a lane network and a parking lot network are generated using high-precision map information 16 and facility information 17 (S23), but each network targeting roads and parking lots across the country may be stored in a database in advance and read out from the database as needed.

[0155] Furthermore, in this embodiment, the high-precision map information held by the server device 4 includes both information about the lane shape of the road (such as the road shape, curvature, and lane width for each lane) and information about the dividing lines drawn on the road (such as the center line, lane boundary line, outer lane line, and guide line). However, the high-precision map information may include only information about the dividing lines, or may include only information about the lane shape of the road. For example, even if the high-precision map information includes only information about the dividing lines, it is possible to estimate information equivalent to the information about the lane shape of the road based on the information about the dividing lines. Furthermore, even if the high-precision map information includes only information about the lane shape of the road, it is possible to estimate information equivalent to the information about the dividing lines based on the information about the lane shape of the road. Furthermore, the "information about the dividing lines" may be information that identifies the type and arrangement of the dividing lines that divide the lanes, information that identifies whether lane changes are possible between adjacent lanes, or information that directly or indirectly identifies the shape of the lanes.

[0156] In addition, in this embodiment, as a means of reflecting the dynamic driving trajectory in the static driving trajectory, part of the static driving trajectory is replaced with the dynamic driving trajectory (S7), but instead of replacing it, the trajectory may be corrected so that the static driving trajectory approaches the dynamic driving trajectory.

[0157] In addition, in this embodiment, the vehicle control ECU 40 has been described as controlling all of the accelerator operation, brake operation, and steering operation, which are operations related to the vehicle's behavior, as autonomous driving assistance for automatically driving the vehicle without the user's driving operation. However, the autonomous driving assistance may also be defined as the vehicle control ECU 40 controlling at least one of the accelerator operation, brake operation, and steering operation, which are operations related to the vehicle's behavior, as part of the vehicle operations. On the other hand, manual driving performed by the user's driving operation will be described as the user performing all of the accelerator operation, brake operation, and steering operation, which are operations related to the vehicle's behavior, as part of the vehicle operations.

[0158] Furthermore, the driving assistance of the present invention is not limited to automatic driving assistance related to automatic driving of a vehicle. For example, it is possible to display the static driving trajectory generated in S3 or the dynamic driving trajectory generated in S6 on the navigation screen, and to provide guidance using voice, a screen, or the like (for example, guidance on lane changes, guidance on recommended vehicle speeds, etc.). Furthermore, the static driving trajectory or the dynamic driving trajectory may be displayed on the navigation screen to assist the user's driving operation.

[0159] Furthermore, in this embodiment, the automatic driving assistance program (FIG. 4) is configured to be executed by the navigation device 1, but it may also be configured to be executed by an in-vehicle device other than the navigation device 1 or the vehicle control ECU 40. In that case, the in-vehicle device or the vehicle control ECU 40 is configured to acquire the current position of the vehicle, map information, etc. from the navigation device 1 or the server device 4. Furthermore, the server device 4 may execute some or all of the steps of the automatic driving assistance program (FIG. 4). In that case, the server device 4 corresponds to the driving assistance device of the present application.

[0160] Furthermore, the present invention can be applied to devices other than navigation devices, such as mobile phones, smartphones, tablet devices, and personal computers (hereinafter referred to as mobile devices, etc.). It can also be applied to a system consisting of a server and a mobile device, etc. In that case, each step of the above-described automatic driving assistance program (see FIG. 4) may be implemented by either the server or the mobile device, etc. However, when applying the present invention to a mobile device, etc., a vehicle capable of executing automatic driving assistance and the mobile device, etc., must be connected to each other so that they can communicate (whether wired or wireless). [Explanation of symbols]

[0161] 1...navigation device (driving assistance device), 2...driving assistance system, 3...information distribution center, 4...server device, 5...vehicle, 16...high-precision map information, 33...navigation ECU, 40...vehicle control ECU, 51...CPU, 81...center line, 82...moving average line, 83...start vector, 84...end vector, 85...clipping point (passing point), 96...first driving trajectory, 97...second driving trajectory, 98...third driving trajectory, 105...connecting point, 115...first half driving trajectory candidate, 116...second half driving trajectory candidate

Claims

1. a planned driving route acquisition means for acquiring a planned driving route along which the vehicle will travel; a junction point setting means for setting junction points of the plurality of curves in a curve section including the plurality of curves when the planned travel route includes the plurality of successive curves; a start vector acquisition means for acquiring a start vector that specifies the position and orientation of the vehicle at the start point of the curve section when traveling along the planned traveling route; an end vector acquisition means for acquiring an end vector that specifies the position and orientation of the vehicle at the end point of the curve section when the vehicle travels along the planned travel route; a travel trajectory generation means for generating a travel trajectory for which vehicle travel is recommended by combining a first half travel trajectory from the start vector to the connection point and a second half travel trajectory from the connection point to the end vector for the curve section; a driving assistance means for providing driving assistance for the vehicle based on the traveling trajectory generated by the traveling trajectory generating means, The connection point setting means When the plurality of curves are turning in the same direction, the connecting point is set between the plurality of curves and on the outside of the curve from the center line of the lane on which the vehicle is to travel, The running trajectory generating means Calculating costs for combinations of a plurality of first half running trajectory candidates and a plurality of second half running trajectory candidates; A driving assistance device that compares the calculated costs and selects and generates a combination of driving trajectories for which the vehicle is recommended to travel from among combinations of multiple candidate first half driving trajectories and multiple candidate second half driving trajectories.

2. a planned driving route acquisition means for acquiring a planned driving route along which the vehicle will travel; a junction point setting means for setting junction points of the plurality of curves in a curve section including the plurality of curves when the planned travel route includes the plurality of successive curves; a start vector acquisition means for acquiring a start vector that specifies the position and orientation of the vehicle at the start point of the curve section when traveling along the planned traveling route; an end vector acquisition means for acquiring an end vector that specifies the position and orientation of the vehicle at the end point of the curve section when the vehicle travels along the planned travel route; a travel trajectory generation means for generating a travel trajectory for which vehicle travel is recommended by combining a first half travel trajectory from the start vector to the connection point and a second half travel trajectory from the connection point to the end vector for the curve section; a driving assistance means for providing driving assistance for the vehicle based on the traveling trajectory generated by the traveling trajectory generating means, The connection point setting means When the plurality of curves have different turning directions, the connecting point is set on the center line of the lane on which the vehicle is to travel, between the plurality of curves; The running trajectory generating means Calculating costs for combinations of a plurality of first half running trajectory candidates and a plurality of second half running trajectory candidates; A driving assistance device that compares the calculated costs and selects and generates a combination of driving trajectories for which the vehicle is recommended to travel from among combinations of multiple candidate first half driving trajectories and multiple candidate second half driving trajectories.

3. The running trajectory generating means 3. The driving assistance device according to claim 1, wherein the cost calculated for a combination of a plurality of candidate first half driving trajectories and a plurality of candidate second half driving trajectories is lower for a combination of driving trajectories with a smaller curvature or a combination of driving trajectories with a shorter travel time.

4. 3. The driving assistance device according to claim 2, further comprising a driving trajectory correction means for correcting a driving trajectory that is a combination of the first half driving trajectory and the second half driving trajectory so as not to include a section in which the vehicle travels straight along the center line of the lane before and after the connecting point when the bending directions of the plurality of curves are different.

5. Computer, a planned driving route acquisition means for acquiring a planned driving route along which the vehicle will travel; a junction point setting means for setting junction points of the plurality of curves in a curve section including the plurality of curves when the planned travel route includes the plurality of successive curves; a start vector acquisition means for acquiring a start vector that specifies the position and orientation of the vehicle at the start point of the curve section when traveling along the planned traveling route; an end vector acquisition means for acquiring an end vector that specifies the position and orientation of the vehicle at the end point of the curve section when the vehicle travels along the planned travel route; a travel trajectory generation means for generating a travel trajectory for which vehicle travel is recommended by combining a first half travel trajectory from the start vector to the connection point and a second half travel trajectory from the connection point to the end vector for the curve section; a driving assistance means for assisting the driving of the vehicle based on the traveling trajectory generated by the traveling trajectory generating means; A computer program for causing a computer to function as follows: The connection point setting means When the plurality of curves are turning in the same direction, the connecting point is set between the plurality of curves and on the outside of the curve from the center line of the lane on which the vehicle is to travel, The running trajectory generating means Calculating costs for combinations of a plurality of first half running trajectory candidates and a plurality of second half running trajectory candidates; A computer program that compares the calculated costs and selects and generates a combination of driving trajectories recommended for vehicle travel from among combinations of multiple candidate first half driving trajectories and multiple candidate second half driving trajectories.

6. A computer, a planned driving route acquisition means for acquiring a planned driving route along which the vehicle will travel; a junction point setting means for setting junction points of the plurality of curves in a curve section including the plurality of curves when the planned travel route includes the plurality of successive curves; a start vector acquisition means for acquiring a start vector that specifies the position and orientation of the vehicle at the start point of the curve section when traveling along the planned traveling route; an end vector acquisition means for acquiring an end vector that specifies the position and orientation of the vehicle at the end point of the curve section when the vehicle travels along the planned travel route; a travel trajectory generation means for generating a travel trajectory for which vehicle travel is recommended by combining a first half travel trajectory from the start vector to the connection point and a second half travel trajectory from the connection point to the end vector for the curve section; a driving assistance means for assisting the driving of the vehicle based on the traveling trajectory generated by the traveling trajectory generating means; A computer program for causing a computer to function as follows: The connection point setting means When the plurality of curves have different turning directions, the connecting point is set on the center line of the lane on which the vehicle is to travel, between the plurality of curves; The running trajectory generating means Calculating costs for combinations of a plurality of first half running trajectory candidates and a plurality of second half running trajectory candidates; A computer program that compares the calculated costs and selects and generates a combination of driving trajectories recommended for vehicle travel from among combinations of multiple candidate first half driving trajectories and multiple candidate second half driving trajectories.

Citation Information

Patent Citations

  • Travel locus generation device and travel locus generation method

    JP2017100652A

  • Control device and control method

    JP2017111683A

  • System for determining availability of lane change and program for determining availability of lane change

    JP2019105578A

  • Vehicle motion control device and vehicle operation control method

    JP2021169234A

  • Operation support device and computer program

    JP2024033222A