WO2024181312A1 - 運転支援装置及びコンピュータプログラム - Google Patents
運転支援装置及びコンピュータプログラム Download PDFInfo
- Publication number
- WO2024181312A1 WO2024181312A1 PCT/JP2024/006587 JP2024006587W WO2024181312A1 WO 2024181312 A1 WO2024181312 A1 WO 2024181312A1 JP 2024006587 W JP2024006587 W JP 2024006587W WO 2024181312 A1 WO2024181312 A1 WO 2024181312A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vehicle
- trajectory
- driving
- obstacle
- travel
- Prior art date
Links
- 238000004590 computer program Methods 0.000 title claims description 7
- 239000013598 vector Substances 0.000 claims description 314
- 238000000034 method Methods 0.000 description 117
- 230000008569 process Effects 0.000 description 109
- 230000003068 static effect Effects 0.000 description 68
- 238000010586 diagram Methods 0.000 description 45
- 230000008859 change Effects 0.000 description 35
- 238000012545 processing Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 22
- 230000001133 acceleration Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 11
- 230000006399 behavior Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000007935 neutral effect Effects 0.000 description 7
- 239000000523 sample Substances 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000001105 regulatory effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000033228 biological regulation Effects 0.000 description 4
- 230000008685 targeting Effects 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000005452 bending Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/40—Transportation
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y20/00—Information sensed or collected by the things
- G16Y20/20—Information sensed or collected by the things relating to the thing itself
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/30—Control
Definitions
- the present invention relates to a driving assistance device and a computer program that assists in driving a vehicle.
- JP 2017-100652 A discloses a technology for generating a driving trajectory that improves the ride comfort of the vehicle by setting the driving trajectory to a trajectory with a larger radius of curvature in the turning portion than the trajectory along the center line of the road.
- a technology is disclosed for correcting the driving trajectory so as to ensure a predetermined safe distance from the obstacle when the generated driving trajectory is close to an obstacle such as another vehicle.
- JP 2017-100652 A paragraphs 0037-0040, Figures 5-7
- the vehicle's orientation at the start and end points of the turning section when driving along the corrected driving trajectory may not be the recommended orientation.
- the example shown in FIG. 42 shows a driving trajectory 152 corrected to avoid an obstacle 151 in a turning section consisting of a curved road.
- the direction (angle) of the vehicle's body at the end point of the turning section is not along the direction of the straight road thereafter, and the steering is not in a neutral state.
- a correction trajectory 153 is required to correct the direction of the vehicle body to the same direction as the straight road and the steering to a neutral state.
- the vehicle's behavior is not smooth, and sudden changes in speed and lateral acceleration occur, which is a problem in that the recommended driving trajectory for the vehicle is not obtained.
- Figure 42 shows the end of the turning section and the connection to the road after that, but the same problem can occur at the start of the turning section and the connection to the road just before it.
- the present invention has been made to solve the above-mentioned problems in the past, and aims to provide a driving assistance device and computer program that, when generating a driving trajectory that avoids obstacles in a turning section, prevents the vehicle from behaving unnaturally at least one of the start and end points of the turning section, and makes it possible to generate a recommended driving trajectory for the vehicle that suppresses sudden speed changes and lateral acceleration.
- the driving assistance device of the present invention comprises a planned driving route acquisition means for acquiring a planned driving route along which the vehicle will travel, a turning driving section acquisition means for acquiring a turning section along which the vehicle will travel while turning when traveling along the planned driving route, an obstacle information acquisition means for acquiring obstacle information relating to obstacles present on the planned driving route, an orientation setting means for setting a vehicle orientation when the vehicle reaches a target point including at least one of a start point and an end point of the turning section based on the planned driving route, a driving trajectory generation means for using the obstacle information to avoid the obstacles in the turning section and generating a driving trajectory along which the vehicle is recommended to travel, on condition that the orientation of the vehicle when it reaches the target point is the orientation set by the orientation setting means, and a driving assistance means for providing driving assistance for the vehicle based on the driving trajectory generated by the driving trajectory generation means.
- turning sections where the vehicle travels while turning include, for example, sections where the road turns in an arc shape with a specified curvature (including shapes where the road curvature changes), as well as sections where the road bends at a specified angle such as a right angle, and sections of intersections (branching points) where the vehicle must turn right or left.
- sections where the vehicle travels while turning within facilities such as parking lots, as well as sections on public roads, sections where the vehicle travels while turning to enter or exit a parking space, and sections where the vehicle travels while turning to enter a facility from a public road or enter a facility from a facility onto a public road are also included.
- the "vehicle orientation” may be the direction (angle) of the vehicle body, or the traveling direction of the vehicle (tire orientation, steering angle).
- the computer program according to the present invention is a program for generating support information used for driving support implemented in a vehicle.
- the computer is made to function as a planned driving route acquisition means for acquiring a planned driving route along which the vehicle will travel, a turning driving section acquisition means for acquiring a turning section along which the vehicle will travel while turning when traveling along the planned driving route, an obstacle information acquisition means for acquiring obstacle information relating to obstacles present on the planned driving route, an orientation setting means for setting a vehicle orientation when the vehicle reaches a target point including at least one of the start point and end point of the turning section based on the planned driving route, a driving trajectory generation means for using the obstacle information to avoid the obstacle in the turning section and to generate a driving trajectory along which the vehicle is recommended to travel, on the condition that the orientation of the vehicle when it reaches the target point is the orientation set by the orientation setting means, and a driving support means for providing driving support for the vehicle based on the driving trajectory generated by the driving trajectory generation means.
- the driving assistance device and computer program according to the present invention having the above configuration can prevent the vehicle from behaving unnaturally at least one of the start and end points of the turning section when generating a driving trajectory that avoids obstacles in particular in a turning section, and can generate a recommended driving trajectory for the vehicle that suppresses sudden speed changes and lateral acceleration. As a result, it is possible to provide appropriate driving assistance that does not place a burden on the vehicle's occupants.
- FIG. 1 is a schematic configuration diagram showing a driving assistance system according to an embodiment of the present invention
- 1 is a block diagram showing a configuration of a driving assistance system according to an embodiment of the present invention.
- 4 is a diagram showing an example of obstacle information managed by the server device according to the embodiment
- FIG. 1 is a block diagram showing a navigation device according to an embodiment of the present invention
- 4 is a flowchart of an autonomous driving assistance program according to the present embodiment.
- FIG. 2 is a diagram showing an area for which high-precision map information is acquired.
- FIG. 2 is a diagram showing an example of a planned driving route of a vehicle.
- FIG. 10 is a diagram showing an example of a lane network constructed for the planned travel route shown in FIG. 9 .
- 13 is a flowchart of a sub-processing program of a driving trajectory generation process for a turning section.
- FIG. 1 is a diagram showing an example of a turning section including a curved road; 13 is a diagram illustrating a case where a reference travel trajectory and an obstacle overlap.
- FIG. 13 is a flowchart of a sub-processing program of a reference running trajectory generating process.
- FIG. 13 is a diagram showing an example of a vehicle's orientation set with respect to the start point and end point of a turning section.
- 13 is a diagram illustrating a method for setting a clipping point.
- 13A and 13B are diagrams illustrating an example of multiple start vectors and end vectors.
- 13 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 traveling direction of each vector is included in the lane in which the vehicle is traveling.
- FIG. 13 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 traveling direction of each vector is not included in the lane in which the vehicle is traveling.
- FIG. FIG. 13 is a diagram showing candidates of a driving trajectory generated for a turning section.
- FIG. 13 is a diagram showing a method for generating a second running trajectory and a third running trajectory.
- FIG. 13 is a diagram showing an example of correction for smoothing a running trajectory.
- 13 is a flowchart of a sub-processing program of a first avoidance travel trajectory generation process.
- 13A and 13B are diagrams illustrating an example of multiple start vectors and end vectors.
- 13 is a flowchart of a sub-processing program of a second avoidance travel trajectory generation process.
- FIG. 2 is a diagram showing guide lines set along the center line of a lane.
- FIG. 13 is a diagram showing an area where a center line of a lane overlaps with an obstacle.
- FIG. 13 is a diagram showing an overlapping target section.
- FIG. 13 is a diagram after the overlap target section of the guide line has been corrected so as not to overlap with an obstacle.
- 1 is a diagram showing guide lines and moving average lines of the guide lines.
- 11 is a diagram showing candidates for passing points through which a vehicle passes, which are set at boundaries dividing an overlapping target section;
- FIG. 2 illustrates a passing vector that specifies a recommended vehicle heading when passing through a passing point.
- 13 is a flowchart of a sub-processing program of a third avoidance travel trajectory generation process.
- FIG. 13 is a diagram showing guide lines set along a reference driving trajectory.
- FIG. 13 is a diagram showing an area where a reference travel trajectory and an obstacle overlap;
- FIG. 13 is a diagram showing an overlapping target section.
- FIG. 13 is a diagram after the overlap target section of the guide line has been corrected so as not to overlap with an obstacle.
- 13 is a diagram showing an example of a driving trajectory that is generated when a section of an intersection (branch) where a vehicle is to turn right or left is set as a turning section.
- FIG. 13 is a diagram showing an example of a driving trajectory that is generated when a section in which a vehicle turns to enter (enter) or exit (leave) a parking space is set as a turning section.
- FIG. 13 is a diagram showing an example of a driving trajectory that is generated when a section where a vehicle makes a turn to enter a facility from a public road or to enter a public road from a facility is set as a turning section.
- FIG. FIG. 13 is a diagram showing an example of a trajectory connecting two vectors (a start vector and an end vector) set at two arbitrary points.
- FIG. 1 is a diagram illustrating problems with the conventional technology.
- 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.
- the driving assistance system 2 basically comprises a server device 4 provided in an information distribution center 3, and a navigation device 1 mounted on a vehicle 5 and providing various types of assistance related to the automatic driving of the vehicle 5.
- the server device 4 and the navigation device 1 are configured to be able to transmit and receive electronic data to each other via a communication network 6.
- the navigation device 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.
- vehicle 5 is a vehicle capable of manual driving based on the driving operation of the user, as well as assisted driving using automatic driving assistance, in which the vehicle automatically drives along a preset route or road without the user's driving operation.
- autonomous driving assistance may be provided for all road sections, or may 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).
- the autonomous driving section where autonomous driving assistance is provided includes parking lots as well as all road sections including general roads and highways, and the autonomous driving assistance is basically provided from the time the vehicle starts traveling to the time it ends traveling (until the vehicle is parked).
- 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.
- vehicle 5 may be a vehicle capable of assisted driving only with autonomous driving assistance.
- the vehicle control for the 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 the vehicle control of the steering, drive source, brakes, etc. is automatically performed so that the vehicle travels along the travel trajectory generated by the navigation device 1 as described below at a speed according to the speed plan also generated.
- lane changes, right and left turns, and parking operations are also performed by performing the vehicle control with the automated driving assistance described above, but special driving such as lane changes, right and left turns, and parking operations may be configured to be performed by manual driving without driving with the automated driving assistance.
- the navigation device 1 is an in-vehicle device that is mounted on the vehicle 5 and displays a map of the area around the vehicle's position based on map data held by the navigation device 1 or map data acquired from an external source, allows the user to input a destination, displays the vehicle's current position on a map image, and provides travel guidance along a set guide route.
- various types of support information related to autonomous driving support are generated, particularly when the vehicle is performing assisted driving using autonomous driving support. Examples of support information include a recommended driving trajectory for the vehicle (including recommended lane movement patterns), the 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.
- the server device 4 also performs a route search in response to a request from the navigation device 1. Specifically, information required for route search, such as the departure point and destination, is sent from the navigation device 1 to the server device 4 along with a route search request (however, in the case of a re-search, information regarding the destination does not necessarily need to be sent).
- the server device 4 which receives the route search request, then 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. It then transmits the identified recommended route to the navigation device 1 that made the request.
- the navigation device 1 can then provide the user with information regarding the received recommended route, or use the recommended route to generate various types of assistance information related to autonomous driving assistance, as described below.
- the server device 4 has high-precision map information and facility information, which are more accurate map information, in addition to the normal map information used for the above route search.
- the high-precision map information includes, for example, information on the lane shape of the road (road shape and curvature for each lane, bending angle, lane width, etc.) and dividing lines drawn on the road (center line, lane boundary line, outer line of the road, guiding line, etc.). It also includes information on intersections, etc.
- the facility information is more detailed information on the facility stored separately from the information on the facility included in the map information, and includes, for example, a floor map of the facility, information on the entrance and exit of the parking lot, layout information of the passages (roadways) and parking spaces provided in the parking lot, information on the dividing lines that divide the parking spaces and roadways, and connection information that indicates the connection relationship between the entrance and exit of the parking lot and the lanes.
- the server device 4 also has obstacle information that identifies the type and position (and shape (occupied area) if the obstacle spans a range) of obstacles on the road or in the parking lot.
- obstacles include, for example, vehicles parked on the road, signs and fences installed at road construction sites, unevenness in the road surface, and structures such as utility poles and blocks.
- the type and position of an obstacle can be identified, for example, by collecting camera images and sensor detection results of vehicles actually traveling on the road or in the parking lot.
- the server device 4 distributes high-precision map information, facility information, and obstacle information in response to a request from the navigation device 1, and the navigation device 1 generates various types of support information related to autonomous driving support, as described below, using the high-precision map information, facility information, and obstacle information distributed from the server device 4.
- high-precision map information is basically map information that only covers roads (links) and their surrounding areas, it may also be map information that includes areas other than those around the roads.
- the above-mentioned route search process does not necessarily have to be performed by the server device 4, and may be performed by the navigation device 1 if the navigation device 1 has map information. Also, high-precision map information and facility information may not be distributed from the server device 4, but may be stored in advance by the navigation device 1.
- 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.
- the base stations have transceivers (transmitters/receivers) and antennas that communicate with the navigation device 1.
- the base stations perform wireless communication between the communication companies, while also serving as the end points of the communication network 6 and relaying communications between the navigation device 1 that is within the range (cell) of the base station's radio waves and the server device 4.
- the server device 4 includes a server control unit 11, a server-side map DB 12 as an information recording means connected to the server control unit 11, a high-precision map DB 13, a facility DB 14, an obstacle information DB 15, and a server-side communication device 20.
- 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 device 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 internal storage devices such as 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 described below.
- 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.
- the server-side map information is composed of various information necessary for route search, route guidance and map display, including the road network.
- it is composed of 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 facilities and other points, map display data for displaying the map, search data for searching for routes, search data for searching for points, etc.
- 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 regarding roads on which vehicles are traveling.
- the information includes information regarding lane shapes (road shapes and curvatures for each lane, lane width, etc.) and dividing lines drawn on the roads (center lines, lane boundaries, outer lines, guiding lines, etc.).
- the information includes information on the speed limit, traffic lights, pedestrian crossings, railroad crossings, stop signs, and other road restrictions that restrict vehicle travel (restrictions), specifying the type and location of the restrictions.
- Information on the dividing lines includes information specifying which types of dividing lines are arranged on the road.
- curve includes not only a shape where the road bends in an arc shape with a specified curvature (including a shape where the curvature of the road changes), but also a shape where the road bends at a specified angle such as a right angle (for example, an L-shaped intersection).
- information is also stored that specifies the traffic divisions in the direction of travel for each lane and the connections of 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).
- 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.
- the facility information 17 includes information for parking lots (including both parking lots attached to facilities and independent parking lots) where vehicles are parked, such as information specifying the location of the entrance and exit of the parking lot, information specifying the layout of parking spaces in the parking lot, and information on the dividing lines that divide the parking spaces and the road.
- the information includes at least information specifying the shape of the road (i.e., the area in the parking lot where vehicles can drive), and if there are any restrictions on the road that restrict the travel of vehicles (restrictions) such as speed limits, information specifying the type and location of the restrictions.
- the floor map includes information specifying the locations of entrances, passageways, stairs, elevators, and escalators, for example.
- information specifying the location of each tenant is included.
- the facility information 17 may be information generated by using a 3D model of the parking lot or facility.
- the facility DB 14 also includes connection information 18 that indicates the connection between the lanes included in the approach road facing the entrance/exit of the parking lot and the entrance/exit of the parking lot, and road outer shape information 19 that specifies the area between the approach road and the entrance/exit of the parking lot that vehicles can pass through.
- 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.
- 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 be part of the server-side map information.
- the high-precision map DB 13 and facility DB 14 may not be separated but may be a single database.
- the obstacle information DB15 is a storage means for cumulatively storing information on obstacles (obstacle information) generated by statistically or analytically analyzing the probe information collected from each vehicle.
- An obstacle is an object that impedes the travel of a vehicle traveling on a road or in a facility such as a parking lot, and includes, for example, a vehicle parked on the road, a signboard or a fence installed at a road construction site, unevenness of the road surface, and structures such as utility poles and blocks.
- the probe information collected from the vehicle includes, in particular, (a) the detection result of an obstacle using an on-board camera or other sensors equipped on the vehicle, and (b) the position coordinates and vehicle speed of the vehicle.
- the server device 4 manages the types and positions of obstacles on roads and in facilities such as parking lots nationwide, and stores them in the obstacle information DB15.
- the information on obstacles may be obtained from sources other than the probe information.
- Figure 3 is a diagram showing an example of obstacle information stored in the obstacle information DB 15.
- the obstacle information includes information specifying the date and time when the obstacle was detected, the type of obstacle, and information specifying the position of the obstacle.
- the position of the obstacle is specified by the link ID of the link in which the obstacle is located, the distance from the start point of the link, the lane in which the obstacle is located, and the range in which the obstacle is located within the lane.
- the example shown in Figure 3 shows that a parked vehicle is located 20 m from the start point of the link with link ID "100001", within a range of 3.5 m in total length (in the direction of travel of the road) and 1 m from the left end of the leftmost lane.
- a parked vehicle is located 30 m from the start point of the link with link ID "100013", within a range of 0.2 m to 2.0 m from the left end of the leftmost lane, within a range of 3.5 m in total length (in the direction of travel of the road). It also shows that a parked vehicle is located 50 m from the start of the link with link ID "100101", within a range of 0.4 m to 2.2 m from the left end of the leftmost lane, with a total length of 3.5 m (in the direction of travel of the road). Note that the "lane number" is specified as 1, 2, 3, etc., from the left, for multiple lanes included in the link.
- the server device 4 distributes the obstacle information stored in the obstacle information DB 15 to the navigation device 1 in response to a request from the navigation device 1.
- the navigation device 1 to which the obstacle information has been distributed generates various types of assistance information related to autonomous driving assistance, as described below, using the distributed obstacle information.
- the server-side communication device 20 is a communication device for communicating with the navigation device 1 of each vehicle 5 via the communication network 6. It is also possible to receive traffic information, such as congestion information, regulation information, and traffic accident information, sent from the Internet network and traffic information centers other than the navigation device 1, such as the VICS (registered trademark: Vehicle Information and Communication System) center.
- traffic information such as congestion information, regulation information, and traffic accident information
- VICS Vehicle Information and Communication System
- FIG. 4 is a block diagram showing the navigation device 1 according to this embodiment.
- the navigation device 1 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 in which various data is recorded, a navigation ECU 33 that performs various calculation processes based on input information, an operation unit 34 that accepts operations from the user, a liquid crystal display 35 that displays to the user a map of the area around the vehicle and information about the guide route (the planned route of the vehicle) set in the navigation device 1, a speaker 36 that outputs voice guidance regarding the route guide, a DVD drive 37 that reads a DVD, which is a storage medium, and a communication module 38 that communicates with an information center such as a probe center or a VICS center.
- 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 in which various data is recorded
- a navigation ECU 33 that performs various calculation processes based on input information
- an operation unit 34 that accepts operations from the user
- a liquid crystal display 35 that displays
- the navigation device 1 is 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. Furthermore, 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, so that it can communicate bidirectionally.
- 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, so that it can communicate bidirectionally.
- 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 running speed, current time, etc.
- the vehicle speed sensor 42 in particular is a sensor for detecting the travel distance and vehicle speed of the vehicle, and generates pulses in response to the rotation of the drive wheels of the vehicle and outputs the pulse signal to the navigation ECU 33.
- the navigation ECU 33 then calculates the rotation speed and travel distance of the drive wheels by counting the generated pulses. It is not necessary for the navigation device 1 to be equipped with all of the above four types of sensors, and the navigation device 1 may be configured to be equipped with only one or a plurality of these types of sensors.
- 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, and predetermined programs recorded on the hard disk and writing predetermined data to the hard disk.
- 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.
- 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 necessary.
- the map information DB45 is a storage means that stores, for example, link data relating to roads (links), node data relating to node points, search data used in processes related to route search and change, facility data relating to facilities, map display data for displaying the map, intersection data relating to each intersection, search data for searching for locations, etc.
- the cache 46 is a storage means for storing the high-precision map information 16, facility information 17, connection information 18, road external shape information 19, and obstacle information previously distributed from the server device 4.
- the storage period can be set as appropriate, and may be, for example, a predetermined period from storage (e.g., one month), or until the vehicle's ACC power source (accessory power supply) is turned off.
- the oldest data may be deleted in order.
- the navigation ECU 33 then generates various types of support information related to autonomous driving support using the high-precision map information 16, facility information 17, connection information 18, road external shape information 19, and obstacle information stored in the cache 46. Details will be described later.
- the navigation ECU (electronic control unit) 33 is an electronic control unit that controls the entire navigation device 1, and includes a CPU 51 as an arithmetic device and control device, a RAM 52 that is used as a working memory when the CPU 51 performs various arithmetic processing and stores route data and the like when a route is searched, a ROM 53 in which a control program and an automatic driving assistance program (see FIG. 5) described below and the like are recorded, and a flash memory 54 that stores programs read from the ROM 53.
- the navigation ECU 33 has various means as processing algorithms.
- the planned driving route acquisition means acquires the planned driving route along which the vehicle will travel.
- the turning driving section acquisition means acquires the turning section along which the vehicle will travel while turning when traveling according to the planned driving route.
- the obstacle information acquisition means acquires obstacle information on obstacles present on the planned driving route.
- the orientation setting means sets the orientation of the vehicle when the vehicle reaches a target point including at least one of the start point and end point of the turning section based on the planned driving route.
- the driving trajectory generation means uses the obstacle information to avoid obstacles in the turning section and generates a driving trajectory along which the vehicle is recommended to travel, on the condition that the vehicle's heading when it reaches the target point is the heading set by the heading setting means.
- the driving assistance means provides driving assistance for the vehicle based on the driving trajectory generated by the driving trajectory generation means.
- the operation unit 34 is operated when inputting the departure point as the starting point of the journey and the destination as the ending point of the journey, and has a number 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 also have a touch panel provided on the front of the liquid crystal display 35. It may also have a microphone and a voice recognition device.
- 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.
- the speaker 36 also outputs voice guidance that guides the driver along the guided route (planned driving route) based on instructions from the navigation ECU 33, as well as traffic information.
- the DVD drive 37 is a drive capable of reading data recorded on recording media such as DVDs and CDs. Based on the read data, 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 to a memory card may be provided.
- 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, road exterior shape information 19, obstacle information, etc. searched by the server device 4 to and from the server device 4.
- a traffic information center such as a VICS center or a probe center
- a vehicle-to-vehicle communication device for communicating between vehicles
- 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, road exterior shape information 19, obstacle information, etc. searched by the server device 4 to and from the server device 4.
- the exterior camera 39 is composed of a camera using a solid-state image sensor such as a CCD, and is attached to the top of the front bumper of the vehicle with the optical axis oriented downward at a predetermined angle from the horizontal.
- the exterior camera 39 captures the area ahead of the vehicle in the direction of travel.
- the navigation ECU 33 performs image processing on the captured image to detect obstacles such as dividing lines drawn on the road on which the vehicle is traveling and other vehicles in the vicinity, and generates various support information related to automatic driving support based on the detection results. For example, when an obstacle is detected, a new driving trajectory is generated to avoid or follow the obstacle.
- the exterior camera 39 may be configured to be placed at the rear or side of the vehicle in addition to the front of the vehicle. Additionally, sensors such as millimeter wave radar or laser sensors, vehicle-to-vehicle communications, or road-to-vehicle communications may be used instead of cameras to detect obstacles.
- the vehicle control ECU 40 is an electronic control unit that controls the vehicle in which the navigation device 1 is mounted.
- the vehicle control ECU 40 is also connected to each driving part of the vehicle, such as the steering, brakes, and accelerator, and in this embodiment, after automatic driving assistance has begun in the vehicle, it controls each driving part to implement automatic driving assistance for the vehicle. If an override is performed by the user during automatic driving assistance, it detects that an override has been performed.
- the navigation ECU 33 transmits various types of support information related to automatic driving support generated by the navigation device 1 to the vehicle control ECU 40 via the CAN.
- the vehicle control ECU 40 uses the various types of support information it receives to implement automatic driving support after starting driving.
- Examples of support information include a recommended driving trajectory for the vehicle, a speed plan indicating the vehicle speed when driving, etc.
- FIG. 5 is a flowchart of the automatic driving assistance program according to this embodiment.
- the automatic driving assistance program is executed when the vehicle's ACC power supply (accessory power supply) is turned on and the vehicle starts traveling with automatic driving assistance, 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 the following FIGS. 5, 8, 11, 14, 23, 25, and 33 are stored in the RAM 52 and ROM 53 provided in the navigation device 1, and are executed by the CPU 51.
- the CPU 51 acquires the route that the vehicle plans to travel in the future (hereinafter referred to as the 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, the route along the road from the current position of the vehicle may be used as the planned travel route.
- the CPU 51 When searching for a recommended route, the CPU 51 first sends a route search request to the server device 4.
- the route search request includes a terminal ID that identifies the navigation device 1 that sent the route search request, and information that identifies the starting point (e.g., the current position of the vehicle) and the destination. When re-searching, information that identifies the destination is not necessarily required.
- the CPU 51 then receives searched route information sent from the server device 4 in response to the route search request.
- the searched route information is information (e.g., a string of links included in the recommended route) that identifies a recommended route (center route) from the starting point to the destination that the server device 4 has searched for using the latest version of map information based on the sent route search request.
- the search is performed using the well-known Dijkstra algorithm.
- 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 search for a recommended route to the selected parking position.
- the recommended route it is desirable for the recommended route to include a route showing the movement of the vehicle within the parking lot in addition to the route to the parking lot. For example, from among the parking spaces that are vacant in the parking lot, a parking space that is easy for the user to park in (for example, a parking space close to the entrance/exit 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.
- 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 movement of the vehicle on foot after parking the vehicle and the movement of the vehicle when leaving the parking position on the way home.
- multiple candidates for parking positions recommended for parking the vehicle may be selected.
- the recommended route to each parking position is acquired as the planned driving route in S1, i.e., multiple candidates for the planned driving route are acquired.
- multiple candidates for the planned driving route may be acquired if multiple recommended routes are possible for that parking position.
- the lane movement patterns are compared between the multiple planned driving routes in S25 described below, and the recommended lane movement pattern is determined as one, and the parking position and the planned driving route are also determined as one.
- 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/exit of the parking lot where the user will park (hereinafter referred to as the entrance road) and the entrance/exit of the parking lot, and when the possible directions of travel to enter the parking lot from the entrance road are limited (for example, only entrance by turning left is possible), the server device 4 searches for the planned driving route mentioned above, taking into account the entrance direction. Note that a search method other than the Dijkstra algorithm may be used as a route search method. Also, the search for the planned driving route in S1 may be performed by the navigation device 1 rather than the server device 4.
- the CPU 51 acquires high-precision map information 16 for an area including the planned driving route acquired in S1 from the current position of the vehicle.
- the high-precision map information 16 is divided into rectangular shapes (e.g., 500 m x 1 km) as shown in FIG. 6 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 planned driving route of the vehicle as shown in FIG. 6, high-precision map information 16 is acquired for areas 62 to 65 including 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 high-precision map information 16 may be acquired for only the area within a predetermined distance (e.g., within 3 km) from the current position of the vehicle.
- a predetermined distance e.g., within 3 km
- the high-precision map information 16 includes, for example, information on the lane shape of the road and the dividing lines drawn on the road (center line, lane boundary line, outer lane line, guiding line, etc.). It also includes regulation information that specifies the type and location of regulating objects (regulating objects) that regulate the travel of vehicles (more specifically, require stopping or slowing down) such as speed limits set on roads and lanes, traffic lights, pedestrian crossings, railroad crossings, and stop road signs. It also includes other information on intersections, parking lots, etc.
- the high-precision map information 16 is basically obtained from the server device 4 in the above-mentioned rectangular area units, but if high-precision map information 16 for an area that is already stored in the cache 46 exists, it is obtained from the cache 46.
- the high-precision map information 16 obtained from the server device 4 is temporarily stored in the cache 46.
- connection information 18 indicating the connection between the lanes included in the approach road facing the entrance/exit of the parking lot where the user will park and the entrance/exit of the parking lot
- road exterior shape information 19 specifying the area through which the vehicle can pass between the approach road and the entrance/exit of the parking lot where the user will park
- obstacle information regarding obstacles on the planned driving route including both on the road and within facilities such as the parking lot.
- the static driving trajectory generation process is a process for generating a static driving trajectory, which is a driving trajectory recommended for the vehicle on the 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.
- the CPU 51 not only identifies the lanes on which the vehicle is recommended to drive, but also generates a driving trajectory that identifies the specific driving position within the lane where driving is recommended, as a static driving trajectory.
- a driving trajectory that avoids the obstacle is generated by acquiring obstacle information from the server device 4.
- a static driving trajectory may be generated that targets a section from the current position of the vehicle to a predetermined distance ahead in the traveling direction (for example, within the secondary mesh where the vehicle is currently located).
- the predetermined distance can be changed as appropriate, but the static driving trajectory is generated for an area that includes at least the outside of the range (detection range) where the road conditions around the vehicle can be detected by the exterior camera 39 or other sensors.
- the CPU 51 generates a speed plan for the vehicle when traveling along the static travel path generated in S3, based on the high-precision map information 16 acquired in S2. For example, the CPU 51 calculates the recommended travel speed for the vehicle when traveling along the static travel path, taking into account speed limit information and speed change points (e.g., intersections, curves, railroad crossings, crosswalks, etc.) on the planned travel route.
- speed limit information e.g., intersections, curves, railroad crossings, crosswalks, etc.
- the speed plan generated in S4 is stored in the flash memory 54 or the like as support information to be used for autonomous driving support.
- 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 autonomous driving support.
- the CPU 51 performs image processing on the image captured by the external camera 39 to determine whether there are any factors that may affect the traveling of the vehicle, particularly around the vehicle, as the surrounding road conditions.
- the "factors that may affect the traveling of the vehicle" to be determined in S5 are dynamic factors that change in real time, and static factors based on the road structure are excluded. For example, 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, lane narrowing sections, etc. are excluded.
- a driving trajectory that avoids the obstacle has already been generated, and since it does not overlap with the current driving trajectory, it is excluded from “factors that may affect the driving of the vehicle.”
- sensors such as millimeter wave radar or laser sensors, vehicle-to-vehicle communication, or road-to-vehicle communication may be used instead of cameras as a means for detecting factors that may affect the driving of the vehicle.
- 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.
- the CPU 51 generates a new trajectory as a dynamic driving trajectory to avoid or follow the "factors that affect the driving of the vehicle" detected in S5 from the current position of the vehicle and return to the static driving trajectory.
- the dynamic driving trajectory is generated for a section including the "factors that affect the driving of the vehicle". The length of the section varies depending on the content of the factor. For example, if the "factors that affect the driving of the vehicle" are other vehicles (forward vehicles) traveling in front of the vehicle, an avoidance trajectory is generated as the dynamic driving trajectory 67, which is a trajectory in which the vehicle changes lanes to the right to overtake the forward vehicle 66 as shown in FIG. 7, and then changes lanes to the left to return to the original lane.
- the following trajectory which is a trajectory in which the vehicle follows the forward vehicle 66 at a predetermined distance behind (or runs parallel to) the forward vehicle 66 without overtaking the forward vehicle 66, may be generated as the dynamic driving trajectory.
- multiple candidates may be generated as the dynamic driving trajectory, and in that case, the candidate with the lowest cost is selected from the multiple candidates in S7 described later.
- the CPU 51 first calculates a first trajectory L1 required for starting a steering wheel turn to move to the right lane and returning the steering wheel position to the straight direction.
- the first trajectory L1 is calculated by calculating the lateral acceleration (lateral G) generated when changing lanes based on the current vehicle speed of the vehicle, and calculating a trajectory that is as smooth as possible and requires as short a distance as possible to change lanes using a clothoid curve or a circular arc, under the conditions 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, and that the change amount of the lateral G per unit time also does not exceed an upper limit (e.g., 0.6 m/s3).
- an upper limit e.g., 0.6 m/s3
- a second trajectory L2 is calculated for traveling in the right lane at the upper limit of the speed limit to overtake the preceding vehicle 66 and to 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 vehicle speed of the preceding vehicle 66 and the speed limit of the road.
- a third trajectory L3 is calculated that is required to start turning the steering wheel and return to the left lane, and to return the steering wheel position to the straight ahead direction.
- the third trajectory L3 is calculated by calculating the lateral acceleration (lateral G) that occurs when changing lanes based on the current vehicle speed of the vehicle, and using a clothoid curve or a circular arc, a trajectory that is as smooth as possible and requires as short a distance as possible to change lanes, under the conditions 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, and that the change amount of the lateral G per unit time also does not exceed an upper limit (e.g., 0.6 m/s 3 ).
- an upper limit e.g., 0.6 m/s 3
- Another condition is that an appropriate inter-vehicle distance N or more must be maintained between the vehicle 66 ahead.
- 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.
- the CPU 51 reflects the dynamic driving trajectory newly generated in S6 to the static driving trajectory generated in S3. Specifically, 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 position of the vehicle to the end of the section including the "factors that affect the driving of the vehicle" are calculated, and the driving trajectory with the smallest cost is selected. As a result, part of the static driving trajectory is replaced with the dynamic driving trajectory as necessary. Note that, depending on the situation, the dynamic driving trajectory may not be replaced, that is, even if the dynamic driving trajectory is reflected, there may be cases where the static driving trajectory generated in S3 does not change. Furthermore, if the dynamic driving trajectory and the static driving trajectory are the same trajectory, there may be cases where the static driving trajectory generated in S3 does not change even if the dynamic driving trajectory is replaced.
- the CPU 51 modifies the vehicle speed plan generated in S4 for the static driving trajectory after the dynamic driving trajectory is reflected in S7 based on the contents of the reflected dynamic driving trajectory. Note that if the static driving trajectory generated in S3 does not change as a result of reflecting the dynamic driving trajectory, the process of S8 may be omitted.
- the CPU 51 calculates the control amounts for the vehicle to travel on the static driving trajectory generated in S3 (the reflected trajectory if the dynamic driving trajectory has been reflected in S7) at a speed in accordance with the speed plan generated in S4 (the revised plan if the speed plan has been modified in S8).
- the control amounts for the accelerator, brake, gear, and steering are each 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.
- the CPU 51 reflects the control amount calculated in S9. Specifically, the calculated control amount is sent to the vehicle control ECU 40 via CAN.
- the vehicle control ECU 40 controls the accelerator, brakes, gears, and steering based on the received control amount.
- driving assistance control is possible for driving the static driving trajectory generated in S3 (the reflected trajectory if the dynamic driving trajectory has been reflected in S7) at a speed according to the speed plan generated in S4 (the revised plan if the speed plan has been modified in S8).
- the CPU 51 determines whether the vehicle has traveled a certain distance since the static travel trajectory was generated in S3.
- the certain distance is 1 km.
- the process returns to S2.
- the static driving trajectory is generated again for a section within a certain distance from the vehicle's current position along the planned driving route (S2 to S4).
- the static driving trajectory is repeatedly generated for a section within a certain distance from the vehicle's current position along the planned driving route each time the vehicle travels a certain distance (for example, 1 km), but if the distance to the destination is short, the static driving trajectory to the destination may be generated all at once at the start of driving.
- 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 the operation panel provided in the vehicle, or by operating the steering wheel or brakes, etc.
- FIG. 8 is a flowchart of the sub-processing program of the static driving trajectory generation process.
- the CPU 51 acquires the current position of the vehicle detected by the current position detection unit 31. It is desirable to specify the current position of the vehicle in detail using, for example, high-precision GPS information or high-precision location technology.
- high-precision location technology is a technology that detects white lines and road paint information captured by a camera installed in the vehicle by image recognition, and furthermore, compares the detected white lines and road paint information with, for example, high-precision map information 16, thereby making it possible to detect the driving lane and the vehicle position with high precision. Furthermore, if the vehicle is traveling on a road consisting of multiple lanes, the lane in which the vehicle is traveling is also specified.
- the specific position in the parking lot for example, the parking space in which the vehicle is located
- the attitude of the vehicle for example, the direction of travel of the vehicle, and if the vehicle is located in a parking space, the orientation of the vehicle relative to the parking space
- the CPU 51 acquires information on lane shape, dividing line information, intersections, etc., based on the high-precision map information 16 acquired in S2, particularly for the section ahead of the vehicle in the direction of travel where a static driving trajectory is to be generated (for example, the planned driving route within a specified distance from the vehicle's current position).
- regulation information is acquired that identifies the type and location of regulating objects that regulate the vehicle's driving (more specifically, require stopping or deceleration), such as speed limits, traffic lights, crosswalks, railroad crossings, and stop road signs set on roads and lanes.
- the section where a static driving trajectory is to be generated includes a parking lot
- information is included that identifies the location of the entrance and exit of the parking lot, information that identifies the layout of parking spaces in the parking lot, and information on dividing lines that divide parking spaces and lanes (lanes).
- information on dividing lines that divide parking spaces and lanes is also acquired that identifies the shape of the lane (i.e., the area in the parking lot where vehicles can drive).
- the lane shape and dividing line information acquired in S22 includes information that specifies how the lanes that a vehicle can select as driving targets are arranged on the road, as well as the number of lanes, the type and arrangement of the dividing lines that divide the lanes, the curvature of the road (lanes), lane width, where and how the number of lanes increases or decreases if any, the traffic divisions in the direction of travel for each lane, and road connections (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), etc.
- the CPU 51 constructs a lane network for the section in front of the vehicle's traveling direction for which a static driving trajectory is to be generated, based on the lane shape and dividing line information acquired in S22.
- the lane network is a network that indicates the lane movements that the vehicle can select.
- the planned travel route shown in FIG. 9 is a route in which the vehicle travels straight from the current position of the vehicle, turns right at the next intersection 71, turns right at the next intersection 72, and turns left at the next intersection 73.
- the planned travel route shown in FIG. 9 for example, when turning right at intersection 71, it is possible to enter 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 at the time of entering the intersection 72. Also, when turning right at intersection 72, it is possible to enter 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 at the time of entering the intersection 73.
- a lane network constructed for a section where such lane movement is possible is shown in FIG. 10.
- the lane network divides the section that generates the static driving trajectory ahead of the vehicle's direction of travel into multiple sections (groups). Specifically, the division is made with boundaries set at the entrance and exit points of the intersection, and the points where lanes increase and decrease.
- Node points hereafter referred to as lane nodes
- links hereafter referred to as lane links
- lane links 76 are set to connect the lane nodes 75. Note that lane links 76 are basically set in the center of the lane when there is no crossing of lanes.
- the lane network also includes information that specifies the correspondence between the lanes included in the road before the intersection and the lanes included in the road after the intersection, in other words, the lanes that can be moved after the intersection with respect to the lanes before the intersection, by connecting the lane nodes and lane links at the intersection in particular. Specifically, it indicates that a vehicle can move between the lanes that correspond to the lane nodes that are connected by lane links between the lane nodes set on the road before the intersection and the lane nodes set on the road after the intersection.
- the high-precision map information 16 stores lane flags that indicate the correspondence between the lanes for each combination of roads entering and leaving the intersection for each road that connects to the intersection.
- the CPU 51 forms the connection between the lane nodes and lane links at the intersection by referring to the lane flags.
- FIG. 10 shows an example of a lane network constructed for roads
- a parking lot network a similar network (hereinafter referred to as a parking lot network) can be constructed for the parking lot.
- the 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.
- parking lot links are set for passages between parking lot nodes that vehicles can pass through.
- the lane network and parking lot network are constructed for the multiple planned driving routes.
- the CPU 51 sets a start lane (start node) from which the vehicle will start moving for the lane node located at the start of the lane network (including the parking lot network if the section for generating the static driving trajectory includes the parking lot; the same applies below) constructed in S23, and sets a target lane (destination node) to which the vehicle will move for the lane node located at the end of the lane network. If the start 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.
- the lane node corresponding to the leftmost lane becomes the target lane. If the start or end of the lane network is in the parking lot, the start lane is set to the parking space or passage 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 be parked or the passage from which the vehicle can enter the parking space.
- 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.
- the route is searched for from the target lane side using the Dijkstra algorithm.
- a search method other than the Dijkstra algorithm may be used.
- the derived recommended route becomes the lane movement mode of the vehicle that is recommended when the vehicle moves (information that specifies the lane in which it is recommended to travel and the recommended position for lane movement).
- the lane cost used in searching for the above route 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 of the lane cost.
- a lane change cost (e.g., 50) is added to the reference value.
- the lane change cost may be changed depending on the number of lane changes and the location of the lane change. For example, the value of the lane change cost added can be higher when a lane change is made near an intersection or when a lane change is made across two lanes.
- the recommended route with the smallest lane cost is derived from among the multiple planned driving routes.
- the planned driving route is also determined by the derived recommended route.
- the CPU 51 acquires obstacle information on obstacles on the planned driving route from the server device 4, with the planned driving route being the target.
- An obstacle is an object that impedes the driving of a vehicle on a road or in a facility such as a parking lot, and includes, for example, vehicles parked on the road, signs and fences installed at road construction sites, unevenness in the road surface, and structures such as utility poles and blocks.
- the obstacle information specifically includes information specifying the date and time when the obstacle was detected, the type of obstacle, and information specifying the position of the obstacle.
- the position of the obstacle is specified by the link ID of the link in which the obstacle is located, the distance from the start point of the link, the lane in which the obstacle is located, and the range in which the obstacle is located within the lane.
- the obstacle information is managed in advance by the server device 4 based on probe information collected from each vehicle traveling throughout the country, and is stored in the obstacle information DB 15 of the server device 4 (FIG. 3). Therefore, in S26, it is also possible to obtain information about obstacles that are outside the range (detection range) in which the road conditions around the vehicle can be detected by the vehicle's exterior camera 39 or other sensors.
- the CPU 51 may also obtain information about obstacles within a detection range determined by detecting road conditions around the vehicle using the vehicle's exterior camera 39 or other sensors (i.e., information about obstacles detected by the vehicle).
- the driving trajectory calculation process for the turning section is a process for generating a driving trajectory recommended for driving along the recommended route derived in S25, particularly for a turning section where the vehicle turns when driving along the planned driving route, among the planned driving routes for the section for which a static driving trajectory is generated ahead of the vehicle's traveling direction.
- the turning section includes, for example, a section where the road turns in an arc shape with a predetermined curvature (including shapes where the curvature of the road changes), as well as a section where the road bends at a predetermined angle such as a right angle, and a section of an intersection (branch) where the vehicle turns right or left. Furthermore, it also includes a section where the vehicle turns not only on a public road but also in a facility such as a parking lot, a section where the vehicle turns to enter or exit a parking space, or a section where the vehicle turns to enter a facility from a public road or enter a facility from a facility to a public road.
- lane changes for changing the driving lane are excluded from the above turning targets, and a driving trajectory is generated for the section where the lane change is performed in S28 described below.
- a recommended driving trajectory is generated for each of the multiple turning sections. In particular, if there is an obstacle identified by the obstacle information acquired in S26 within the turning section, a driving trajectory that draws a trajectory that avoids the obstacle is generated.
- the CPU 51 generates a recommended driving trajectory for driving along the recommended route derived in S25 for the section other than the turning section. For example, for a driving trajectory in a section involving lane changing, the position of the lane change is set so that the lane change is not repeated as much as possible and is performed at a position far from the intersection.
- the lateral acceleration (lateral G) generated in the vehicle is calculated, and a trajectory that connects as smoothly as possible is calculated using a clothoid curve under the conditions that the lateral G does not interfere with the automatic driving assistance and does not exceed an upper limit value (e.g., 0.2 G) that does not cause discomfort to the vehicle occupants, and the change amount of the lateral G per unit time also does not exceed an upper limit value (e.g., 0.6 m/s 3 ).
- an upper limit value e.g., 0.2 G
- an upper limit value e.g., 0.6 m/s 3
- a trajectory that passes through the center of the lane is set as the driving trajectory that is recommended for the vehicle to drive.
- a travel trajectory that avoids the obstacle is generated.
- the CPU 51 In S29, the CPU 51 generates a static driving trajectory, which is a driving trajectory that is recommended for the vehicle to drive on roads included in the planned driving route, by combining the driving trajectories calculated in S27 and S28.
- the static driving trajectory generated in S29 is stored in the flash memory 54 or the like as assistance information used for automatic driving assistance. Then, the process proceeds to S4, where various driving assistance measures are carried out based on the generated static driving trajectory.
- FIG. 11 is a flowchart of the sub-processing program of the driving trajectory calculation process for the turning section.
- FIG. 11 is a flowchart of the sub-processing program of the driving trajectory calculation process for the turning section.
- an example of generating a static driving trajectory for a turning section where a vehicle travels around a curved road including cases where the road bends at a predetermined angle such as a right angle in addition to cases where the road bends in an arc
- the CPU 51 acquires information specifying the driving area in which the vehicle will travel, targeting the section in front of 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 (or the road edges for one-lane roads or roads with no lane divisions) and the curvature of the road are acquired.
- the CPU 51 calculates the center line of the lane (driving area) in which the vehicle will travel, targeting the section for which a static driving trajectory is to be generated ahead in the vehicle's direction of travel, based on the driving area information acquired in S31 and the curvature of the road.
- this is the center line of the road.
- the CPU 51 calculates a moving average line of the lane (driving area) in which the vehicle is traveling, targeting the section generating the static driving trajectory ahead in the vehicle's direction of travel, based on the center line calculated in S32.
- the moving average line is the moving average line of the road.
- 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 average point (a point where the latitude and longitude are averaged) of five coordinate points, including the two coordinate points before and after it, is calculated, and the line connecting these average points is used as the moving average line.
- FIG. 12 is a diagram showing an example of the center line 81 and the moving average line 82 calculated in S31 and S32.
- the moving average line 82 is a line that connects the average points (points where the latitude and longitude are averaged) of five coordinate points, including the two coordinate points before and after each coordinate point set at a predetermined interval along the center line 81. Therefore, the center line 81 and the moving average line 82 match in the section where the center line 81 is arranged in a straight line, but as shown in FIG.
- the CPU 51 detects curves in the section that generates the static driving trajectory ahead of the vehicle's direction of travel by comparing the center line 81 and the moving average line 82, but it is also possible to detect curves based on map information.
- the map information should contain information that identifies the position of the curve in advance (for example, information that identifies the link that corresponds to the curve or the coordinates of the start and end points of the curve).
- the range where the road curvature is equal to or greater than a threshold value may be identified as the range where the curve exists.
- the CPU 51 determines whether or not there is at least one curve in the section for which the static driving trajectory is to be generated ahead of the vehicle's traveling direction based on the detection result in S34.
- the CPU 51 acquires the turning section (more specifically, the start and end points of the turning section) including the curve detected as described above.
- the positions of the start and end points of the turning 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.
- the start point of the turning section may be 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 do not match
- the end point of the turning 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 and the moving average line 82 do not match.
- the current position of the vehicle may be the start point of the turning section.
- the map information may include information specifying the turning section together with the curve (e.g., information specifying the links included in the turning section and the coordinates of the start and end points of the turning section), and the turning section may be set based on the map information.
- the following process is performed on the turning section that includes the curve detected as described above to generate a recommended driving trajectory for driving through the turning section. If multiple curves are detected, the following process is performed on each turning section that corresponds to all of the detected curves to generate a driving trajectory.
- the reference driving trajectory generation process is a process for generating a driving trajectory recommended for driving through a turning section, with the turning section as the target.
- the reference driving trajectory generation process even if there is an obstacle in the turning section identified by the obstacle information acquired in S26, the reference driving trajectory generation process generates a driving trajectory recommended for driving through the turning section without taking the obstacle into consideration.
- the driving trajectory generated in S37 without taking the obstacle into consideration is referred to as the reference driving trajectory.
- the CPU 51 determines whether the reference driving trajectory generated in S37 overlaps with an obstacle identified by the obstacle information acquired in S26.
- the obstacle information identifies the link ID of the link in which the obstacle is located, the distance from the start point of the link, the lane in which the obstacle is located, and the range (occupied area) in which the obstacle is located within the lane, and it is possible to determine whether the reference driving trajectory overlaps with the obstacle based on the obstacle information.
- “the reference driving trajectory overlaps with the obstacle” refers not only to the case where the range 78 in which the obstacle is located overlaps with the reference driving trajectory 79 as shown in the left diagram of FIG.
- the reference driving trajectory generated in S37 is selected as the driving trajectory recommended for driving in the turning section (S39). Note that even if there is no obstacle identified by the obstacle information acquired in S26 in the turning section, it is determined that the reference driving trajectory does not overlap with the obstacle. Then, the process proceeds to S28, where a driving trajectory recommended for driving along the recommended route derived in S25 for sections other than the turning section is generated, and finally, by combining the generated driving trajectories, a static driving trajectory, which is a driving trajectory recommended for the vehicle to drive on roads included in the planned driving route, is generated (S29). Furthermore, the generated static driving trajectory is stored in the flash memory 54 or the like as support information used for automatic driving support.
- the CPU 51 performs a first avoidance travel trajectory generation process (FIG. 23) described below.
- the first avoidance travel trajectory generation process is a process for generating a travel trajectory that is recommended when traveling through a turning section, taking into account obstacles.
- the travel trajectory that takes into account obstacles generated in S40 is referred to as the first avoidance travel trajectory.
- the CPU 51 determines whether or not at least one first avoidance travel trajectory that does not overlap with an obstacle identified by the obstacle information acquired in S26 has been generated in the first avoidance travel trajectory generation process in S40.
- the first avoidance travel trajectory overlaps with an obstacle refers not only to the case where the range in which the obstacle is located overlaps with the first avoidance travel trajectory as in S38, but also to the case where the range in which the obstacle is located overlaps with the vehicle when the vehicle travels along the first avoidance travel trajectory, i.e., the distance X between the range in which the obstacle is located and the first avoidance travel trajectory is less than a predetermined distance (e.g., 1/2 the vehicle width + ⁇ ).
- the travel trajectory with the smallest cost (highest suitability) indicating suitability as a travel trajectory among the first avoidance travel trajectories generated in S40 is selected as the travel trajectory recommended for traveling in the turning section (S42). Details of the cost calculation will be described later.
- a travel trajectory recommended for traveling along the recommended route derived in S25 for sections other than the turning section is generated, and a static travel trajectory, which is a travel trajectory recommended for traveling on roads included in the planned traveling route, is generated by combining the respective generated travel trajectories (S29).
- the generated static travel trajectory is stored in the flash memory 54 or the like as support information used for automatic driving support.
- the CPU 51 determines whether an obstacle in the turning section identified by the obstacle information acquired in S26 overlaps with the center line of the lane (driving area) in which the vehicle is traveling, calculated in S32.
- the obstacle information identifies the link ID of the link in which the obstacle is located, the distance from the start point of the link, the lane in which the obstacle is located, and the range (occupied area) in which the obstacle is located within the lane, and it is possible to determine whether the center line and the obstacle overlap based on the obstacle information.
- the CPU 51 performs the second avoidance travel trajectory generation process (FIG. 25) described later. Meanwhile, in S45, the CPU 51 performs the third avoidance travel trajectory generation process (FIG. 33) described later.
- the second avoidance travel trajectory generation process and the third avoidance travel trajectory generation process are processes for generating a recommended travel trajectory when traveling through a turning section, taking into account obstacles, like the first avoidance travel trajectory generation process in S40.
- the second avoidance travel trajectory generation process and the third avoidance travel trajectory generation process are different in that when calculating the travel trajectory, a guide line that serves as a base is set so as not to overlap with the obstacle, and a travel trajectory that avoids the obstacle is calculated using the guide line.
- the third avoidance travel trajectory generation process differs in that the guide line is set based on the reference travel trajectory calculated in S37.
- the driving trajectory that takes into account the obstacles generated in S44 is referred to as the second avoidance driving trajectory
- the driving trajectory that takes into account the obstacles generated in S45 is referred to as the third avoidance driving trajectory.
- the driving trajectory with the smallest cost (highest suitability) indicating suitability as a driving trajectory is selected as the driving trajectory recommended for driving in the turning section (S42). Details of the cost calculation will be described later.
- the process proceeds to S28, where a driving trajectory recommended for driving along the recommended route derived in S25 for sections other than the turning section is generated, and finally, by combining the generated driving trajectories, a static driving trajectory is generated, which is a driving trajectory recommended for the vehicle to drive on roads included in the planned driving route (S29).
- the generated static driving trajectory is stored in the flash memory 54 or the like as support information used for autonomous driving support.
- FIG. 14 is a flowchart of the sub-processing program of the reference driving trajectory generation process.
- the CPU 51 sets the recommended vehicle orientation when positioned at the start point (target point) of the turning section and the recommended vehicle orientation when positioned at the end point (target point) of the turning section.
- the vehicle orientation includes both the orientation (angle) of the vehicle body and the vehicle's traveling direction (tire orientation, steering angle). However, only one of them may be set.
- the recommended vehicle orientation when positioned at the start point 83 of the turning section is basically set so that the orientation (angle) of the vehicle body is in the same direction as the traveling direction of the road at the start point 83 of the turning section (parallel to the road) and the vehicle's traveling direction is straight ahead (steering angle is 0° (neutral state)).
- the recommended vehicle orientation when the vehicle is positioned at the end point 84 of the turning section is basically set so that the vehicle body direction (angle) is the same as the road travel direction at the end point 84 of the turning section (parallel to the road) and the vehicle travel direction is a straight line (steering angle is 0° (neutral state)).
- the vehicle body direction (angle) may be set to be inclined with respect to the road travel direction, and the vehicle travel direction (tire direction, steering angle) may also be set to a direction turning right or left.
- the vehicle orientation set in S51 does not need to be fixed, and it is desirable to set the vehicle orientation recommended when the vehicle is positioned at the start point of the turning section and the vehicle orientation recommended when the vehicle is positioned at the end point of the turning section when traveling along the planned travel route, taking into account the lane movement mode selected in S25.
- the CPU 51 obtains a start vector that specifies the position and orientation of the vehicle at the start of the turning section, and an end vector that specifies the position and orientation of the vehicle at the end of the turning section, based on the positions of the start and end of the turning section obtained in S36, and the recommended vehicle orientation when positioned at the start of the turning section and the recommended vehicle orientation when positioned at the end of the turning section set in S51.
- the positions of the start vector and the end vector along the traveling direction of the road correspond to the start point and end point of the turning section described above.
- the positions of the start vector and the end vector in the road width direction are basically set to the center of the lane on which the vehicle is traveling (for one-lane roads or roads without lane divisions, this also corresponds to the center of the road).
- this is not limited to the case where a lane change is required before or after a turning section or where another turning section is adjacent (for example, an S-curve), and the positions of the start vector and the end vector in the road width direction may be set to the left or right of the center of the lane.
- the directions of the start vector and end vector correspond to the vehicle heading set in S51.
- FIG. 16 is a diagram showing an example of a start vector 83 and an end vector 84 that are set for a turning section that includes a curve that bends at a right angle.
- the start vector 83 is set at the center of the lane a predetermined distance before the start of the section where the center line 81 and the moving average line 82 no longer coincide
- the 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 the center line 81 and the moving average line 82 no longer coincide.
- the directions 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).
- the CPU 51 sets a clipping point (passing point) 85 between the moving average line calculated in S33 and the dividing line on the inside of the curve.
- the clipping point 85 can be set appropriately between each coordinate point arranged along the center line 81 and the dividing line on the inside of the curve, or more appropriately, between the moving average line and the dividing line on the inside of the curve.
- the clipping point 85 is set to the point of closest contact of the dividing line 86 on the inside of the curve to the moving average line 82.
- the moving average line 82 is basically closer to the dividing line on the inside of the curve than the center line 81.
- the clipping point 85 will be located between each coordinate point arranged along the center line 81 and the dividing line on the inside of the curve.
- the example shown in FIG. 16 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 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 1/2 the vehicle width + ⁇ (e.g., 30 cm) toward the center line, taking into account errors, etc.
- the CPU 51 generates a new candidate start vector other than the start vector obtained in S52 at the start point of the turning section for which the driving trajectory is to be generated. Furthermore, a new candidate end vector other than the end vector obtained in S52 is generated at the end point of the turning section.
- 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) away from the original start vector 83 toward the outside of the curve
- 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) away from the original end vector 84 toward the outside of the curve.
- 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) away from the original end vector 84 toward the outside of the curve
- 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) away from the original end vector 84.
- two new start vector and end vector candidates are generated, but only one or three or more may be generated. They may also be generated on the inside of the curve. Generating more new start vector and end vector candidates increases the likelihood of generating a more appropriate driving trajectory, but on the other hand, the processing load associated with calculating the driving trajectory increases because there are more driving trajectory candidates.
- steps S55 to S61 are executed for each combination of start vector and end vector obtained in S52 and newly generated in S54.
- steps S55 to S61 are executed for a total of nine 3 x 3 combinations.
- steps S55 to S61 have been executed for all combinations of start vector and end vector, the process moves to S62.
- 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 travel of each vector (i.e., the tangent direction of the arc coincides with the direction of travel of each vector).
- the CPU 51 determines whether the arc calculated in S55 is included within the lane in which the vehicle is traveling (within the driving area acquired in S31) between the start vector and the end vector.
- the CPU 51 generates a first driving trajectory for the arc between the start vector and the end vector calculated in S55.
- the example shown in FIG. 18 is an example in which the arc 95 calculated in S55 is 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 the arc 95 is generated as the first driving trajectory. Then, the process proceeds to S59.
- the CPU 51 generates a new arc that passes through the clipping point 85 set in S53 because the arc calculated in S55 is a trajectory that goes outside the driving area and cannot be used, and generates a driving trajectory that connects to the new arc by moving straight along the road direction to the start vector and end vector to be processed, as the first driving trajectory.
- the first driving trajectory generated in S58 is a trajectory that passes through the start vector and end vector in the direction of travel of each vector. For example, the example shown in FIG.
- the arc 95 calculated in S55 is not 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 a trajectory 96 that passes through the clipping point 85 is generated as the first driving trajectory.
- the condition for the arc of the trajectory 96 is that the curvature is as small as possible, and that the trajectory 96 does not switch the turning direction (does not include multiple turning operations).
- the CPU 51 generates a second running trajectory for moving from the start vector acquired in S52 to the first running trajectory generated in S57 or S58.
- the second running trajectory becomes part of the first running trajectory, and the processing of S59 is unnecessary.
- the start vector to be processed is not the start vector acquired in S52 (the start vector newly added in S54), the second running trajectory is generated. For example, in the example shown in FIG.
- the first running trajectory 96 is generated by processing a new start vector 92 set to the left of the center of the lane, and a new second running trajectory 97 that moves from the original start vector 83 to the first running trajectory 96 is generated.
- the second running trajectory 97 generated in S45 is a trajectory that passes through the start vector 83 in the traveling direction of the start vector 83.
- the CPU 51 generates a third running trajectory for moving from the first running trajectory generated in S57 or S58 to the end vector acquired in S52.
- the third running trajectory becomes part of the first running trajectory, and the processing of S60 is unnecessary.
- the end vector to be processed is not the end vector acquired in S52 (the end vector newly added in S54)
- the third running trajectory is generated. For example, in the example shown in FIG.
- the first running trajectory 96 is generated with a new end vector 94 set to the left of the center of the lane as the processing target, and a new third running trajectory 98 is generated that moves from the first running trajectory 96 to the original end vector 84.
- the third running trajectory 98 generated in S46 is a trajectory that passes through the end vector 84 in the traveling direction of the end vector 84.
- the recommended vehicle travel trajectory when the vehicle moves to the right or left in the lane includes a clothoid curve whose curvature changes continuously. More specifically, it is a trajectory in which a plurality of clothoid curves with different shapes are connected.
- FIG. 21 is a diagram showing a recommended vehicle travel trajectory when moving to the right in the lane (note that when moving to the left, the travel trajectory is symmetrical). As shown in FIG.
- the recommended vehicle travel 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 the lateral movement by the clothoid curves 101-104 is the distance overlapping with the first running trajectory at the time P5 in the case of the second running trajectory, and the distance overlapping with the initial end vector 84 at the time P5 in the case of the third running trajectory.
- the CPU 51 calculates the trajectory using the clothoid curves so as to be as smooth as possible and to shorten the distance required for the movement within the lane as much as possible, under the condition that the acceleration (lateral G) generated when moving within the lane for each of the clothoid curves 101-104 does not exceed an upper limit (e.g., 0.2 G ) that does not cause discomfort to the vehicle occupants, and the change amount of the lateral G per unit time also does not exceed an upper limit (e.g., 0.6 m/s 3 ).
- the calculated clothoid curves 101-104 are connected to calculate the second running trajectory and the third running trajectory.
- the CPU 51 connects the first driving trajectory generated in S57 or S58, the second driving trajectory generated in S59 (only if the second driving trajectory was generated), and the third driving trajectory generated in S60 (only if the third driving trajectory was generated) to form one driving trajectory.
- the driving trajectory generated in S61 is a "candidate driving trajectory recommended when driving through the turning section" generated for the combination of the start vector and end vector to be processed.
- the driving trajectory is one in which the vehicle's orientation when reaching the start point 83 of the turning section, which is the target point, is the orientation set in S51, and the vehicle's orientation when reaching the end point 84 of the turning section, which is the target point, is the orientation set in S51.
- the travel trajectory generated in S61 is a trajectory that combines at least two or more trajectories of a straight line trajectory, a circular arc trajectory, and a clothoid curve trajectory, and at least the distance and the amount of change in orientation (how the curvature changes) of each trajectory are specified.
- turning section where it is possible to stop and operate the steering wheel midway, such as a turning section where a turn is made to enter (enter) or exit (exit) a parking space, or a turning section where a turn is made to enter a facility from a public road or enter a facility from a facility onto a public road.
- the radius of curvature R of the arcuate path 110 included in the candidate travel path generated in S61 is corrected as necessary.
- the radius of curvature is corrected to a value smaller by a predetermined percentage (for example, 80%).
- a first clothoid curve 111 is calculated so as to connect from a trajectory proceeding in the direction of the start vector 83 of the start point of the turning section to the arc trajectory 110 with the same curvature as the arc trajectory 110
- a second clothoid curve 112 is calculated so as to connect to the arc trajectory 110 with the same curvature as the arc trajectory 110 and to become a trajectory proceeding in the direction of the end vector 84 of the end point of the turning section.
- a clothoid curve is a curve that is drawn when the curvature is changed at a constant rate with respect to the distance (for example, if the vehicle speed is fixed, the steering angle is changed at a constant angular velocity), and the clothoid curve can be calculated by, for example, calculating the Fresnel integral using the Simpson method or an approximation formula, or by replacing it with a complex plane. The method of calculating the clothoid curve is already known, so details will be omitted.
- the first clothoid curve 111, the arc trajectory 110, and the second clothoid curve 112 are connected to calculate straight trajectories 113 and 114 that are connected to the connected trajectory (hereinafter referred to as the connected trajectory) as shown in FIG. 22.
- the straight trajectory 113 is a straight trajectory that connects the start point of the turning section (start vector 83) to the start point of the connected trajectory
- the straight trajectory 114 is a straight trajectory that connects the end point of the connected trajectory to the end point of the turning section (end vector 84).
- the calculated straight trajectory 113, the connected trajectory, and the straight trajectory 114 are connected and connected with the same curvature to generate a final running trajectory candidate 115.
- the running trajectory candidate 115 is continuous in the running position and direction of the vehicle running on the running trajectory (i.e., the running trajectory is a continuous line without interruption and does not bend along the way). Furthermore, as shown in the graph of Fig. 22, the change in heading (curvature) of the traveling vehicle is also continuous, and specifically, the curvatures before and after the connection points of the straight track 113 and the first clothoid curve 111, the first clothoid curve 111 and the arc track 110, the arc track 110 and the second clothoid curve 112, and the second clothoid curve 112 and the straight track 114 match to form a smooth track.
- the traveling track candidate 115 is a smooth traveling track in which the heading change is continuous within a predetermined range. Furthermore, for a candidate running trajectory connecting a first running trajectory 96, a second running trajectory 97, and a third running trajectory 98 as shown in Figure 20, the curvatures before and after the connection points of each running trajectory are the same, and the curvatures before and after the connection points with the straight trajectories before and after are also the same, so that a smooth running trajectory with continuous directional changes within a specified range is obtained without making the above-mentioned corrections.
- the CPU 51 calculates the cost of vehicle travel for each of the multiple travel trajectory candidates generated in S61, 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 S62 is described below.
- the final cost for each candidate travel trajectory is calculated by adding up the costs calculated based on each of the following elements (1) to (3).
- the cost is determined by the travel time of the driving trajectory; specifically, the longer the time required to travel the driving trajectory, the higher the calculated cost, i.e., the less likely it is to be selected as a recommended driving trajectory. Furthermore, if we assume that the vehicle speed when traveling through a turning section is constant, the travel time of the driving trajectory also corresponds to the length of the travel distance.
- the maximum curvature of the curve included in the driving trajectory is calculated.
- 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 required when driving on the driving trajectory, which places a greater burden on the occupants and therefore results in a higher cost being calculated, i.e., it is unlikely that the driving trajectory will be selected as a recommended driving trajectory.
- 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 is, i.e., the less likely it is to be selected as a recommended driving trajectory.
- 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 cost of (1) and (2) may be calculated. In addition, 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.).
- the CPU 51 compares the costs calculated in S62 and selects a recommended driving trajectory from among the multiple driving trajectory candidates generated in S61 when driving through the turning section. Basically, the driving trajectory candidate with the smallest calculated cost is selected as the driving trajectory recommended when driving through the turning section. Note that the driving trajectory calculated in S63 is the reference driving trajectory calculated without considering obstacles.
- the reference driving trajectory is determined as the driving trajectory recommended when driving through the turning section, and then the process proceeds to S28, where a driving trajectory recommended when driving along the recommended route derived in S25 for sections other than the turning section is generated, and finally, by combining each of the generated driving trajectories, a static driving trajectory, which is a driving trajectory recommended for the vehicle to drive on roads included in the planned driving route, is generated (S29). Furthermore, the generated static driving trajectory is stored in the flash memory 54 or the like as support information used for automatic driving support. On the other hand, if the reference driving trajectory cannot avoid the obstacle (S38: YES), the first avoidance driving trajectory generation process (S40) described below is performed.
- FIG. 23 is a flowchart of the sub-processing program of the first avoidance travel trajectory generation process.
- steps S71 to S81 are basically the same as steps S51 to S61 in the reference driving trajectory generation process (FIG. 14) described above. However, the process differs in the following points.
- a new start vector 91 is generated at a point that is moved a predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the outside of the curve from the original start vector 83 as shown in FIG. 24, and a new start vector 92 is generated at a point that is moved a further predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the outside of the curve.
- a predetermined distance e.g. 1/4 or 1/6 of the lane width
- a new start vector 121 is generated at a point that is moved a predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the inside of the curve from the original start vector 83, and a new start vector 122 is also generated at a point that is moved a further predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the inside of the curve.
- a predetermined distance e.g. 1/4 or 1/6 of the lane width
- a new end vector 93 is generated at a point that is moved a predetermined distance (e.g., 1/4 or 1/6 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 moved a further predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the outside of the curve.
- a predetermined distance e.g. 1/4 or 1/6 of the lane width
- a new end vector 123 is generated at a point that is moved a predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the inside of the curve from the original end vector 84, and a new end vector 124 is also generated at a point that is moved a further predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the inside of the curve.
- the first avoidance driving trajectory generation process makes it possible to generate a trajectory that avoids an obstacle by adding to the driving trajectory candidates trajectories that intentionally have a large curvature (small turning radius) when turning, such as when turning from the inside of the road or entering the inside of the road after turning.
- the CPU 51 calculates a trajectory that shortens the distance required for movement within the lane as much as possible, under the conditions 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 the vehicle occupants, and that the amount of change in lateral G per unit time also does not exceed an upper limit (e.g., 0.6 m/ s3 ). This makes it easier to generate a trajectory that avoids obstacles.
- an upper limit e.g., 0.2 G
- an upper limit e.g., 0.6 m/ s3
- the CPU 51 when generating a third driving trajectory in S80 for moving from the first driving trajectory generated in S77 or S78 to the end vector acquired in S72 (moving toward the inside of the road), the CPU 51 similarly calculates a trajectory that shortens the distance required for movement within the lane as much as possible, under the conditions 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 the vehicle occupants, and that the amount of change in lateral G per unit time also does not exceed an upper limit (e.g., 0.6 m/ s3 ). This makes it easier to generate a trajectory that avoids obstacles.
- an upper limit e.g., 0.2 G
- an upper limit e.g., 0.6 m/ s3
- the CPU 51 calculates the cost of vehicle travel for each of the multiple travel trajectory candidates generated in S81, taking into consideration the vehicle behavior when traveling.
- the cost indicates the suitability of the travel trajectory, and the lower the cost, the higher the suitability as a travel trajectory.
- This is basically the same as S62, and the final cost for each travel trajectory candidate is calculated by adding up the costs calculated based on each of the above-mentioned elements (1) to (3).
- the CPU 51 calculates the cost based on each of the elements (1) to (3), it first determines whether each of the multiple driving trajectory candidates generated in S81 overlaps with an obstacle identified by the obstacle information acquired in S26.
- the obstacle information identifies the link ID of the link on which the obstacle is located, the distance from the start point of the link, the lane on which the obstacle is located, and the range (occupied area) in which the obstacle is located within the lane, and it is possible to determine whether each of the multiple driving trajectory candidates overlaps with an obstacle based on the obstacle information.
- the candidate travel path overlaps with the obstacle means not only the case where the range where the obstacle is located overlaps with the candidate travel path as in S38 described above, but also the case where the range where the obstacle is located overlaps with the vehicle when the vehicle travels along the candidate travel path, that is, the distance X between the range where the obstacle is located and the candidate travel path is less than a predetermined distance (for example, 1/2 the vehicle width + ⁇ ) (see FIG. 13). Then, the candidate travel path that is determined to overlap with the obstacle is excluded from the cost calculation, that is, it is removed from the candidate travel path. Note that the candidate travel path that is determined to overlap with the obstacle may be added to the cost rather than being excluded from the cost calculation.
- the CPU 51 compares the costs calculated in S82, and selects a recommended driving trajectory from among the multiple driving trajectory candidates generated in S81, which avoids obstacles and travels through a turning section. Basically, the driving trajectory candidate with the smallest calculated cost without overlapping with obstacles is selected as the recommended driving trajectory. Then, the process proceeds to S28, where a driving trajectory recommended for traveling along the recommended route derived in S25 for sections other than the turning section is generated, and a static driving trajectory, which is a driving trajectory recommended for the vehicle to travel on roads included in the planned travel route, is generated by combining the respective generated driving trajectories (S29). Furthermore, the generated static driving trajectory is stored in the flash memory 54 or the like as support information used for automatic driving support.
- FIG. 25 is a flowchart of the sub-processing program of the second avoidance driving trajectory generation process.
- the CPU 51 sets the recommended vehicle orientation when the vehicle is located at the start point (target point) of the turning section and the recommended vehicle orientation when the vehicle is located at the end point (target point) of the turning section.
- the details are the same as in S51, so a description thereof will be omitted.
- the CPU 51 acquires a start vector that specifies the position and orientation of the vehicle at the start point of the turning section, and an end vector that specifies the position and orientation of the vehicle at the end point of the turning section, based on the positions of the start point and end point of the turning section acquired in S36, and the recommended vehicle orientation when positioned at the start point of the turning section and the recommended vehicle orientation when positioned at the end point of the turning section set in S91.
- the details are the same as in S52, so a description thereof will be omitted.
- FIG. 26 is a diagram showing an example of a start vector 83, an end vector 84, and a guide line 125 that are set for a turning section that includes a right-angled curve.
- the guide line 125 is set on the center line of the lane (driving area) on which the vehicle is traveling. Note that the second avoidance driving trajectory generation process is executed when an obstacle is present in the turning section and the obstacle overlaps with the center line (S43: YES), so that the obstacle 126 and the guide line 125 also overlap, as shown in FIG. 26.
- the CPU 51 specifies the range in which the guide line set in S93 overlaps with the obstacle.
- the obstacle information acquired from the server device 4 specifies the link ID of the link in which the obstacle is located, the distance from the start point of the link, the lane in which the obstacle is located, and the range in which the obstacle is located within the lane (occupied area), and it is possible to specify the range in which the guide line overlaps with the obstacle based on the obstacle information.
- the "range in which the guide line overlaps with the obstacle” includes not only the range in which the obstacle 126 overlaps with the guide line 125, but also the range in which the vehicle positioned along the guide line 125 overlaps with the obstacle, that is, the range obtained by adding the total length of the vehicle to the front and rear of the range in which the obstacle 126 overlaps with the guide line 125 as shown in FIG. 27.
- the range from P to Q is specified as the range in which the guide line 125 overlaps with the obstacle 126.
- the CPU 51 specifies a range that is obtained by adding the distance required for the vehicle to move laterally to the front and rear of the "range where the guide line and the obstacle overlap" specified in S94 as the overlap target section.
- the "distance required for the vehicle to move laterally” is the distance along the road traveling direction that is required to move from the center line (guide line) of the lane to the very edge of the lane (conversely, the same distance is also required to move from the very edge of the lane to the center line of the lane).
- the recommended vehicle travel trajectory when the vehicle moves to the right or left side of the lane includes a clothoid curve whose curvature changes continuously.
- the distance along the road traveling direction from P1 to P5 is the "distance required for the vehicle to move laterally".
- the minimum distance required for in-lane movement is calculated under the conditions 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 that the amount of change in lateral G per unit time also does not exceed an upper limit (e.g., 0.6 m/ s3 ).
- an upper limit e.g., 0.6 m/ s3
- the CPU 51 corrects the guide lines set in S93 by moving them away from the obstacles in the overlap target section identified in S95. Specifically, as shown in FIG. 29, P and Q are slid along the road width direction toward the road edge away from the obstacle 126 (the road edge on the inside of the curve in the example shown in FIG. 29). In particular, the vehicle is moved to the limit where there is no risk of contacting the road edge if it is assumed that the vehicle is traveling along the guide line 125. Note that R and P, P and Q, and Q and S are each connected by a straight line, and as a result, the guide line 125, which is the base when calculating the driving trajectory, is corrected to a shape that does not overlap with the obstacle 126 as shown in FIG. 29.
- the CPU 51 calculates a moving average line of the guide line for the turning section based on the guide line corrected in S96.
- the moving average line is a line connecting the average points of a predetermined number of consecutive coordinate points arranged along the guide line. More specifically, for each coordinate point set at a predetermined interval along the guide line, the average point (a point where the latitude and longitude are averaged) of five coordinate points including the two coordinate points before and after it is calculated, and the line connecting these average points is used as the moving average line.
- FIG. 30 shows a moving average line 127 calculated for the guide line 125 shown in FIG. 29.
- the CPU 51 divides the overlapping target section identified in S95 at the intersection of the corrected guide line and the moving average line calculated in S97. For example, in the example shown in FIG. 30, the overlapping target section is divided at T1 to T3.
- the CPU 51 generates a new candidate start vector other than the start vector acquired in S92 at the start point of the turning section for which the driving trajectory is to be generated. Furthermore, a new candidate end vector other than the end vector acquired in S92 is generated at the end point of the turning section. Specifically, as in S74 of the first avoidance driving trajectory generation process (FIG. 23), as shown in FIG.
- a new start vector 91 is generated at a point that has moved a predetermined distance (e.g., 1/4 or 1/6 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 has moved a predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the outside of the curve.
- a predetermined distance e.g. 1/4 or 1/6 of the lane width
- a new start vector 121 is generated at a point that has moved a predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the inside of the curve from the original start vector 83, and a new start vector 122 is also generated at a point that has moved a predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the inside of the curve.
- a predetermined distance e.g. 1/4 or 1/6 of the lane width
- 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) away from the original end vector 84 toward the outside of the curve
- 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) away from the original end vector 84 toward the outside of the curve.
- a new end vector 123 is generated at a point that is a predetermined distance (e.g., 1/4 or 1/6 of the lane width) away from the original end vector 84 toward the inside of the curve
- a new end vector 124 is also generated at a point that is a further predetermined distance (e.g., 1/4 or 1/6 of the lane width) away from the original end vector 84 toward the inside of the curve.
- the CPU 51 sets candidate passing points for the vehicle on the boundaries T1 to T3 that divided the overlap target section in S98. For example, as shown in FIG. 31, if the normal line of the moving average line 127 that passes through the intersection of the corrected guide line and the moving average line calculated in S97 is set as the boundaries T1 to T3, candidate passing points are set on the boundaries T1 to T3. Note that the candidate passing points may be only one point for each boundary, or multiple points may be set. For example, in the example shown in FIG. 31, candidate passing points X1 to X3 are set for the boundary line T1, candidate passing points Y1 to Y3 are set for the boundary line T2, and candidate passing points Z1 to Z3 are set for the boundary line T3, but four or more points may be set.
- the candidate passing points it is preferable to set the candidate passing points in a position that is within the lane (driving area) on which the vehicle is traveling and does not overlap with the obstacle 126. It is also preferable to include at least the intersection of the guide line and the moving average line as a candidate passing point. Furthermore, generating more passing points increases the likelihood of generating a more appropriate driving trajectory, but on the other hand, the number of candidates for the driving trajectory increases, which increases the processing load involved in calculating the driving trajectory.
- the CPU 51 obtains a passing vector that specifies the position and direction of the vehicle recommended for passing through each candidate passing point set in S100.
- the position of the passing vector is made to match the candidate passing point set in S100.
- the direction of the passing vector is made to intersect with the boundary lines T1 to T3, i.e., the tangent direction of the moving average line 127.
- Figure 32 shows an example of passing vectors set for the boundaries T1 to T3.
- the subsequent processes of S102 to S105 are executed for each combination of the start vector and end vector obtained in S92 and newly generated in S99, and the pass vector obtained in S101.
- the processes of S102 to S105 are executed for a total of 675 combinations, 5x3x3x3x5.
- the program proceeds to S106.
- the CPU 51 generates a driving trajectory that passes through the start vector, end vector, and passing vector of the processing target in the direction of travel of each vector as a first driving trajectory.
- the condition for the generated trajectory arc is that the curvature be as small as possible.
- the section from the start point of the turning section to the boundary line T1 may be regarded as the first turning section
- the section from the boundary line T1 to the boundary line T2 may be regarded as the second turning section
- the section from the boundary line T2 to the boundary line T3 may be regarded as the third turning section
- the section from the boundary line T3 to the end point of the turning section may be regarded as the fourth turning section
- a recommended driving trajectory that passes through the vectors at the start and end points of each of the first to fourth turning sections in the vector direction may be calculated, and finally a first driving trajectory may be generated by connecting these.
- the passing vectors X1 to X3 set for the boundary line T1 are the end vectors of the first turning section and the start vector of the second turning section
- the passing vectors Y1 to Y3 set for the boundary line T2 are the end vectors of the second turning section and the start vector of the third turning section
- the passing vectors Z1 to Z3 set for the boundary line T3 are the end vectors of the third turning section and the start vector of the fourth turning section.
- the CPU 51 generates a second driving trajectory for moving from the starting vector acquired in S92 to the first driving trajectory generated in S102 (moving to the outside of the road). Note that the details are the same as those of the processes in S59 and S79 described above, so a description thereof will be omitted.
- the CPU 51 generates a third driving trajectory for moving from the first driving trajectory generated in S102 to the end vector acquired in S92 (moving toward the inside of the road). Note that the details are the same as those of the processes in S59 and S79 described above, so a description thereof will be omitted.
- the CPU 51 connects the first driving trajectory generated in S102, the second driving trajectory generated in S103 (only if the second driving trajectory is generated), and the third driving trajectory generated in S104 (only if the third driving trajectory is generated) to form one driving trajectory.
- the driving trajectory generated in S105 is a "candidate driving trajectory recommended when driving in the turning section" generated for the combination of the start vector, end vector, and passing vector to be processed.
- the driving trajectory is one in which the vehicle's orientation when reaching the start point 83 of the turning section, which is the target point, is the orientation set in S91, and the vehicle's orientation when reaching the end point 84 of the turning section, which is the target point, is the orientation set in S91.
- the travel trajectory generated in S105 is a travel trajectory that is corrected so that it does not overlap with obstacles in the overlap target section that includes the range that overlaps with the obstacle within the center line, based on the center line.
- the CPU 51 calculates the cost of vehicle travel for each of the multiple travel trajectory candidates generated in S105, taking into consideration the vehicle behavior when traveling.
- the cost indicates the suitability of the travel trajectory, and the lower the cost, the higher the suitability as a travel trajectory. This is basically the same as S62, and the final cost for each travel trajectory candidate is calculated by adding up the costs calculated based on each of the above elements (1) to (3).
- the CPU 51 calculates the cost based on each of the elements (1) to (3), it first determines whether each of the multiple driving trajectory candidates generated in S105 overlaps with an obstacle identified by the obstacle information acquired in S26.
- the obstacle information identifies the link ID of the link on which the obstacle is located, the distance from the start point of the link, the lane on which the obstacle is located, and the range (occupied area) in which the obstacle is located within the lane, and it is possible to determine whether each of the multiple driving trajectory candidates overlaps with an obstacle based on the obstacle information.
- the candidate travel path overlaps with the obstacle means not only the case where the range where the obstacle is located overlaps with the candidate travel path as in S38 described above, but also the case where the range where the obstacle is located overlaps with the vehicle when the vehicle travels along the candidate travel path, that is, the distance X between the range where the obstacle is located and the candidate travel path is less than a predetermined distance (for example, 1/2 the vehicle width + ⁇ ) (see FIG. 13). Then, the candidate travel path that is determined to overlap with the obstacle is excluded from the cost calculation, that is, it is removed from the candidate travel path. Note that the candidate travel path that is determined to overlap with the obstacle may be added to the cost instead of being excluded from the cost calculation.
- the CPU 51 compares the costs calculated in S106, and selects a recommended driving trajectory from among the multiple driving trajectory candidates generated in S105, which avoids obstacles and is recommended for driving through a turning section. Basically, the driving trajectory candidate with the smallest calculated cost without overlapping with obstacles is selected as the recommended driving trajectory. Then, the process proceeds to S28, where a driving trajectory recommended for driving along the recommended route derived in S25 for sections other than the turning section is generated, and finally, a static driving trajectory, which is a driving trajectory recommended for the vehicle to drive on roads included in the planned driving route, is generated by combining the generated driving trajectories (S29). Furthermore, the generated static driving trajectory is stored in the flash memory 54, etc., as support information used for automatic driving support.
- the second avoidance travel trajectory generation process is premised on the fact that at least one candidate travel trajectory capable of avoiding the obstacle is generated in S105.
- a candidate travel trajectory capable of avoiding the obstacle cannot be generated, it is desirable to change the travel lane if the obstacle can be avoided by changing the travel lane, and to suggest a change in the planned travel route if the obstacle cannot be avoided by changing the travel lane.
- FIG. 33 is a flowchart of the sub-processing program of the third avoidance travel trajectory generation process.
- the CPU 51 sets the recommended vehicle orientation when the vehicle is located at the start point (target point) of the turning section and the recommended vehicle orientation when the vehicle is located at the end point (target point) of the turning section.
- the details are the same as in S51, so a description thereof will be omitted.
- the CPU 51 acquires a start vector that specifies the position and orientation of the vehicle at the start point of the turning section, and an end vector that specifies the position and orientation of the vehicle at the end point of the turning section, based on the positions of the start point and end point of the turning section acquired in S36, and the recommended vehicle orientation when positioned at the start point of the turning section and the recommended vehicle orientation when positioned at the end point of the turning section set in S111.
- the details are the same as in S52, so a description thereof will be omitted.
- FIG. 34 is a diagram showing an example of a start vector 83, an end vector 84, and a guide line 131 that are set for a turning section that includes a curve that bends at a right angle. As shown in FIG. 34, the guide line 131 is set on the reference driving trajectory.
- the third avoidance driving trajectory generation process is executed when an obstacle is present in the turning section, and the obstacle does not overlap with the center line but overlaps with the reference driving trajectory (S38: YES, S43: NO), so that the obstacle 126 and the guide line 131 also overlap as shown in FIG. 34.
- the CPU 51 specifies the range in which the guide line set in S113 overlaps with the obstacle.
- the obstacle information acquired from the server device 4 specifies the link ID of the link in which the obstacle is located, the distance from the start point of the link, the lane in which the obstacle is located, and the range in which the obstacle is located within the lane (occupied area), and it is possible to specify the range in which the guide line overlaps with the obstacle based on the obstacle information.
- the "range in which the guide line overlaps with the obstacle” includes not only the range in which the obstacle 126 overlaps with the guide line 131, but also the range in which the vehicle positioned along the guide line 131 overlaps with the obstacle, that is, the range obtained by adding the total length of the vehicle to the front and rear of the range in which the obstacle 126 overlaps with the guide line 131 as shown in FIG. 35.
- the range from P to Q is specified as the range in which the guide line 131 overlaps with the obstacle 126.
- the CPU 51 specifies a range obtained by adding the distance required for the vehicle to move laterally to the front and rear of the "range where the guide line and the obstacle overlap" specified in S114 as the overlap target section.
- the "distance required for the vehicle to move laterally” is the distance along the road travel direction required to move from the reference travel path (guide line) to a position where the obstacle can be avoided within the lane (for example, the intermediate position between the obstacle and the lane edge) (conversely, the same distance along the road travel direction required to move from the intermediate position to the reference travel path).
- the recommended travel path of the vehicle when the vehicle moves to the right or left side within the lane includes a clothoid curve whose curvature changes continuously.
- the distance along the road travel direction from P1 to P5 is the "distance required for the vehicle to move laterally".
- the minimum distance required for in-lane movement is calculated under the conditions 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 that the amount of change in lateral G per unit time also does not exceed an upper limit (e.g., 0.6 m/ s3 ).
- the range from R to S which is obtained by adding "the distance required for lateral movement of the vehicle” to both ends of the range from P to Q, is identified as the overlap target section.
- the CPU 51 corrects the guide lines set in S113 by moving them away from the obstacles in the overlap target section identified in S115. Specifically, as shown in FIG. 37, P and Q are slid along the road width direction toward the road edge away from the obstacle 126 (the road edge on the inside of the curve in the example shown in FIG. 37). In particular, they are moved to a position halfway between the obstacle 126 and the road edge. Note that R and P, P and Q, and Q and S are each connected by a straight line, and as a result, the guide line 131 that serves as the base when calculating the driving trajectory is corrected to a shape that does not overlap with the obstacle 126, as shown in FIG. 37.
- the CPU 51 calculates a moving average line of the guide line for the turning section based on the guide line corrected in S116.
- the moving average line is a line connecting the average points of a predetermined number of consecutive coordinate points arranged along the guide line. Details are the same as in S97, so a description will be omitted (see FIG. 30).
- the CPU 51 divides the overlap target section identified in S115 at the intersection point between the revised guide line and the moving average line calculated in S117.
- the CPU 51 generates a new candidate start vector other than the start vector acquired in S112 at the start point of the turning section for which the driving trajectory is to be generated. Furthermore, a new candidate end vector other than the end vector acquired in S112 is generated at the end point of the turning section. Specifically, as in S74 of the first avoidance driving trajectory generation process (FIG. 23), as shown in FIG.
- a new start vector 91 is generated at a point that has moved a predetermined distance (e.g., 1/4 or 1/6 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 has moved a predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the outside of the curve.
- a predetermined distance e.g. 1/4 or 1/6 of the lane width
- a new start vector 121 is generated at a point that has moved a predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the inside of the curve from the original start vector 83, and a new start vector 122 is also generated at a point that has moved a predetermined distance (e.g., 1/4 or 1/6 of the lane width) toward the inside of the curve.
- a predetermined distance e.g. 1/4 or 1/6 of the lane width
- 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) away from the original end vector 84 toward the outside of the curve
- 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) away from the original end vector 84 toward the outside of the curve.
- a new end vector 123 is generated at a point that is a predetermined distance (e.g., 1/4 or 1/6 of the lane width) away from the original end vector 84 toward the inside of the curve
- a new end vector 124 is also generated at a point that is a further predetermined distance (e.g., 1/4 or 1/6 of the lane width) away from the original end vector 84 toward the inside of the curve.
- the CPU 51 sets candidate passing points through which the vehicle will pass for the boundaries T1 to T3 that divided the overlap target section in S118.
- the details are the same as in S100, so a description thereof will be omitted (see FIG. 31).
- the CPU 51 obtains a passing vector that specifies the position and orientation of the vehicle recommended for passing through each candidate passing point set in S120.
- the position of the passing vector is made to match the candidate passing point set in S120.
- the direction of the passing vector is made to be the direction intersecting the boundaries T1 to T3, i.e., the tangent direction of the moving average line 127 (see FIG. 32).
- the subsequent processes of S122 to S125 are executed for each combination of the start vector and end vector obtained in S112 and newly generated in S119, and the pass vector obtained in S121.
- the processes of S122 to S125 are executed for a total of 675 combinations, 5x3x3x3x5.
- the program proceeds to S126.
- the CPU 51 generates a driving trajectory that passes through the start vector, end vector, and passing vector of the processing target in the direction of travel of each vector as a first driving trajectory.
- the condition for the generated trajectory arc is that the curvature be as small as possible.
- the section from the start point of the turning section to the boundary line T1 may be regarded as the first turning section
- the section from the boundary line T1 to the boundary line T2 may be regarded as the second turning section
- the section from the boundary line T2 to the boundary line T3 may be regarded as the third turning section
- the section from the boundary line T3 to the end point of the turning section may be regarded as the fourth turning section
- a recommended driving trajectory that passes through the vectors at the start and end points of each of the first to fourth turning sections in the vector direction may be calculated, and finally a first driving trajectory may be generated by connecting these.
- the passing vectors X1 to X3 set for the boundary line T1 are the end vectors of the first turning section and the start vector of the second turning section
- the passing vectors Y1 to Y3 set for the boundary line T2 are the end vectors of the second turning section and the start vector of the third turning section
- the passing vectors Z1 to Z3 set for the boundary line T3 are the end vectors of the third turning section and the start vector of the fourth turning section.
- the CPU 51 generates a second driving trajectory for moving from the starting vector acquired in S112 to the first driving trajectory generated in S122 (moving to the outside of the road). Note that the details are the same as those of the processes in S59 and S79 described above, so a description thereof will be omitted.
- the CPU 51 generates a third driving trajectory for moving from the first driving trajectory generated in S122 to the end vector acquired in S112 (moving toward the inside of the road). Note that the details are the same as those of the processes in S59 and S79 described above, so a description thereof will be omitted.
- the CPU 51 connects the first driving trajectory generated in S122, the second driving trajectory generated in S123 (only if the second driving trajectory is generated), and the third driving trajectory generated in S124 (only if the third driving trajectory is generated) to form one driving trajectory.
- the driving trajectory generated in S125 is a "candidate driving trajectory recommended when driving in the turning section" generated for the combination of the start vector, end vector, and passing vector to be processed.
- the driving trajectory is one in which the vehicle's orientation when reaching the start point 83 of the turning section, which is the target point, is the orientation set in S111, and the vehicle's orientation when reaching the end point 84 of the turning section, which is the target point, is the orientation set in S111.
- the travel trajectory generated in S125 is a travel trajectory that is modified based on the reference travel trajectory so that the overlap target section including the range that overlaps with the obstacle within the reference travel trajectory does not overlap with the obstacle.
- the CPU 51 calculates the cost of vehicle travel for each of the multiple travel trajectory candidates generated in S125, taking into consideration the vehicle behavior when traveling.
- the cost indicates the suitability of the travel trajectory, and the lower the cost, the higher the suitability as a travel trajectory.
- This is basically the same as S62, and the final cost for each travel trajectory candidate is calculated by adding up the costs calculated based on each of the above-mentioned elements (1) to (3).
- the CPU 51 calculates the cost based on each of the elements (1) to (3), it first determines whether each of the multiple driving trajectory candidates generated in S125 overlaps with an obstacle identified by the obstacle information acquired in S26.
- the obstacle information identifies the link ID of the link on which the obstacle is located, the distance from the start point of the link, the lane on which the obstacle is located, and the range (occupied area) in which the obstacle is located within the lane, and it is possible to determine whether each of the multiple driving trajectory candidates overlaps with an obstacle based on the obstacle information.
- the candidate travel path overlaps with the obstacle means not only the case where the range where the obstacle is located overlaps with the candidate travel path as in S38 described above, but also the case where the range where the obstacle is located overlaps with the vehicle when the vehicle travels along the candidate travel path, that is, the distance X between the range where the obstacle is located and the candidate travel path is less than a predetermined distance (for example, 1/2 the vehicle width + ⁇ ), which is considered to be "the candidate travel path overlaps with the obstacle” (see FIG. 13). Then, the candidate travel path that is determined to overlap with the obstacle is excluded from the cost calculation, that is, it is removed from the candidate travel path. Note that the candidate travel path that is determined to overlap with the obstacle may be added to the cost rather than being excluded from the cost calculation.
- the CPU 51 compares the costs calculated in S126 and selects a recommended driving trajectory from among the multiple driving trajectory candidates generated in S125, which avoids obstacles and is recommended for driving through a turning section. Basically, the driving trajectory candidate with the smallest calculated cost without overlapping with obstacles is selected as the recommended driving trajectory. Then, the process proceeds to S28, where a driving trajectory recommended for driving along the recommended route derived in S25 for sections other than the turning section is generated, and finally, a static driving trajectory, which is a driving trajectory recommended for the vehicle to drive on roads included in the planned driving route, is generated by combining the generated driving trajectories (S29). Furthermore, the generated static driving trajectory is stored in the flash memory 54, etc., as support information used for automatic driving support.
- the second avoidance travel trajectory generation process is premised on the fact that at least one candidate travel trajectory capable of avoiding the obstacle is generated in S125.
- a candidate travel trajectory capable of avoiding the obstacle cannot be generated, it is desirable to change the travel lane if the obstacle can be avoided by changing the travel lane, and to suggest a change in the planned travel route if the obstacle cannot be avoided by changing the travel lane.
- an example was given of generating a static driving trajectory for a turning section where the vehicle travels on a curved road (including cases where the road bends in an arc shape as well as cases where the road bends at a specified angle such as a right angle) while other examples include a section at an intersection (branch) where the vehicle must turn right or left, a section where the vehicle travels within a facility such as a parking lot while turning, a section where the vehicle must turn to enter (enter) or exit (exit) a parking space, or a section where the vehicle must turn to enter a facility from a public road or enter a facility from a facility onto a public road. Only some of the above may be included as turning sections. Or sections other than the above may be included as turning sections. For example, a section where lanes are changed may also be included as a turning section.
- the start and end points of the turning section (the positions where the start and end vectors are set) according to different criteria for each type of turning section. For example, as shown in FIG. 38, for a section of an intersection (branch) where the vehicle turns right or left, the point where the vehicle starts entering the intersection (or the stop line, if there is a stop line) is set as the start point of the turning section, and the point where the vehicle completes exiting the intersection is set as the end point of the turning section. As shown in FIG. 39, for entering a parking space, the start point of the turning section is a point on the roadway a predetermined distance before the parking space to be parked, and the parking space to be parked is set as the end point of the turning section.
- the parking space to be parked is set as the start point of the turning section, and a point on the roadway a predetermined distance in the direction of travel from the parking space is set as the end point of the turning section.
- the start point of the turning section is a point on the public road a predetermined distance before the facility's location entrance
- the end point of the turning section is a point a predetermined distance into the facility from the facility's entrance.
- the start point of the turning section is a point a predetermined distance into the facility from the facility's entrance
- the end point of the turning section is a point on the public road a predetermined distance in the direction of travel from the facility's location entrance.
- intersections such as that shown in Figure 38
- road markings painted on the road surface such as guiding lines (white guide lines) and a diamond-shaped guidance strip (diamond mark) placed in the center of the intersection, as well as structures such as poles, are regarded as the edges of the lanes, and the above-mentioned driving trajectory is generated.
- the above-mentioned driving trajectory is generated by regarding the partition lines separating the parking spaces as the edge of the lane in addition to the partition lines of the road.
- the directions of the start and end vectors set at the start and end points of the turning section are parallel to the parking space when the parking space is the start or end point of the turning section as shown in Fig. 39.
- the traveling direction of the vehicle at the end point (tire direction, steering angle) does not necessarily have to be parallel to the parking space, that is, a clothoid curve as shown in Fig. 19 is not necessary, and a driving trajectory that ends in a circular arc trajectory may be used.
- the edge of the entrance to the facility facing the public road (the edge of the area where vehicles can pass between the public road and the facility) is regarded as the edge of the lane, and the above-mentioned driving trajectory is generated.
- a stop is required before entering the sidewalk, so a driving trajectory is generated on the premise that the vehicle will stop once before turning. The same applies to turning sections for turning at an intersection with a stop line.
- the trajectory connecting two vectors (start vector and end vector) set at two arbitrary points may be (A) a combination of a circular arc trajectory (which may include a clothoid curve, the same applies below) and a straight trajectory connected before and after it, (B) a combination of two circular arc trajectories, (C) a combination of two circular arc trajectories of different rotations and a straight trajectory connected between them, and (D) a combination of two circular arc trajectories of the same rotation and a straight trajectory connected between them.
- A a combination of a circular arc trajectory (which may include a clothoid curve, the same applies below) and a straight trajectory connected before and after it
- B a combination of two circular arc trajectories
- C a combination of two circular arc trajectories of different rotations and a straight trajectory connected between them
- D a combination of two circular arc trajectories of the same rotation and a straight trajectory connected between them.
- a planned driving route along which the vehicle will travel is acquired (S1)
- obstacle information relating to obstacles present on the planned driving route is also acquired (S26)
- a vehicle orientation when the vehicle reaches the start point and the end point of the turning section is set based on the planned driving route (S51, S71, S91, S111), and under the condition that the vehicle orientation when the vehicle reaches the start point and the end point of the turning section is the set orientation, a driving trajectory along which the vehicle is recommended to travel while avoiding the obstacle in the turning section is generated using the obstacle information (S37 to S42), and driving assistance for the vehicle is performed based on the generated driving trajectory (S9, S10).
- the turning section is a section where the vehicle travels on a curved road while turning, it is determined whether or not the obstacle is located at a position overlapping the center line of the lane along which the vehicle is scheduled to travel (S43).
- a driving trajectory is generated as a recommended driving trajectory for the vehicle (S44) by using the center line as a reference and correcting the driving trajectory so that it does not overlap with the obstacle for the overlap target section including the range within the center line that overlaps with the obstacle. Therefore, it is possible to generate a driving trajectory that avoids the obstacle with minimal vehicle movement while traveling near the center line of the lane along which the vehicle is scheduled to travel.
- the turning section is a section where the vehicle turns on a curved road, it is determined whether or not the obstacle is located at a position overlapping with the center line of the lane in which the vehicle is scheduled to travel (S43).
- a reference driving trajectory which is a driving trajectory for which the vehicle is recommended to travel in the turning section generated without taking the obstacle into consideration, is used as a reference, and a driving trajectory is generated as the recommended driving trajectory for the vehicle to travel (S45) by modifying the reference driving trajectory so that it does not overlap with the obstacle for the overlap target section including the range that overlaps with the obstacle. Therefore, it is possible to generate a driving trajectory that avoids the obstacle with minimal vehicle operation while traveling near the driving trajectory for which driving would be recommended if there was no obstacle.
- a start vector that identifies the position and orientation of the vehicle at the start point of the turning section and an end vector that identifies the position and orientation of the vehicle at the end point of the turning section are obtained (S92, S112)
- the overlapping target section is divided into a plurality of sections, candidate passing points through which the vehicle will pass at the boundaries of the divided plurality of sections are set, and a driving trajectory that passes from the start vector, through the candidate passing points at the boundaries of the sections, and to the end vector in the direction of each vector is generated as a recommended driving trajectory for the vehicle (S102, S122).
- a driving trajectory that does not overlap with obstacles in the overlapping target section and has the vehicle orientation when reaching the start point and end point of the turning section in the recommended orientation is possible to generate a driving trajectory that does not overlap with obstacles in the overlapping target section and has the vehicle orientation when reaching the start point and end point of the turning section in the recommended orientation.
- a plurality of candidate passing points through which the vehicle passes at the boundaries between a plurality of sections are set (S100, S120), a driving trajectory that passes from the start vector, passes through the candidate passing points at the boundaries between the sections, and passes in the direction of each vector to the end vector is generated as a driving trajectory candidate for each candidate passing point (S105, S125), the plurality of candidate driving trajectories generated for each candidate passing point are compared, and a candidate driving trajectory that does not overlap with obstacles and is determined to be the most recommended driving trajectory for the vehicle is selected (S107, S127), and a driving trajectory for which the vehicle is recommended to travel is generated using the selected candidate driving trajectory, so that a plurality of candidate driving trajectory that does not overlap with obstacles in the overlap target sections can be proposed, and the more recommended driving trajectory can be selected from the proposed candidate driving trajectory candidates.
- a cost is calculated for a plurality of candidate driving trajectories generated for each candidate passing point, and the calculated costs are compared to select from the plurality of candidate driving trajectories a candidate driving trajectory that does not overlap with obstacles and is determined to be the most recommended driving trajectory for the vehicle (S107, S127). Therefore, by comparing the costs, it is possible to select a more recommended driving trajectory from among the candidate driving trajectories that do not overlap with obstacles in the overlap target section.
- a plurality of start vectors are obtained that specify the position and orientation of the vehicle at the start point of the turning section, and a plurality of end vectors are obtained that specify the position and orientation of the vehicle at the end point of the turning section (S74).
- a driving trajectory passing from the start vector to the end vector in the direction of each vector is generated as a driving trajectory candidate for each combination of the start vector and the end vector (S75 to S81).
- a driving trajectory candidate that does not overlap with an obstacle and is determined to be the most recommended driving trajectory for the vehicle is selected (S83).
- a driving trajectory for which driving of the vehicle is recommended is generated using the selected driving trajectory candidate. Therefore, by obtaining a plurality of candidates for the start vector and the end vector, it is possible to generate a large number of driving trajectory candidates that pass through the start vector and the end vector in the direction of each vector, and it is possible to select a driving trajectory that can avoid the obstacle from among them.
- the present invention is not limited to the above-described embodiment, and it is needless to say that various improvements and modifications are possible without departing from the spirit and scope of the present invention.
- the vehicle orientation when the vehicle reaches both the start point and the end point of the turning section is set (S51, S71, S91, S111), but the vehicle orientation when the vehicle reaches only one of the start point and the end point of the turning section may be set.
- the vehicle orientation when the vehicle reaches only the end point of the turning section may be set.
- the vehicle orientation when the vehicle reaches a point other than the start point and the end point of the turning section for example, the clipping point 85 or an intermediate point
- the center line 81 and the moving average line 82 are identified based on map information, and the center line 81 and the moving average line 82 are compared to identify the presence of a curve (S34).
- the presence of a curve may also be identified by performing image recognition processing on an image captured by an external camera, for example.
- the center line 81 is the center line of the lane on which the vehicle is traveling, but for roads with one lane or roads without lane divisions, it may be the center line of the road.
- multiple possible patterns of driving trajectories for the vehicle are generated for the turning section, and the cost of each generated driving trajectory is compared to determine the final recommended driving trajectory.
- the navigation device 1 may be a device that guides the user to a recommended driving trajectory without controlling the vehicle based on the driving trajectory.
- the high-precision map information 16 and facility information 17 are used to generate a lane network and a parking lot network (S23), but each network targeting roads and parking lots across the country can be stored in a DB in advance and read from the DB as needed.
- the high-precision map information held by the server device 4 includes both information on the lane shape of the road (road shape and curvature for each lane, lane width, etc.) and information on the dividing lines drawn on the road (center line, lane boundary, outer lane line, guiding line, etc.), but may include only information on the dividing lines, or may include only information on the lane shape of the road. For example, even if only information on the dividing lines is included, it is possible to estimate information equivalent to information on the lane shape of the road based on the information on the dividing lines. Even if only information on the lane shape of the road is included, it is possible to estimate information equivalent to information on the dividing lines based on the information on the lane shape of the road.
- the "information on the dividing lines" may be information that identifies the type and arrangement of the dividing lines themselves 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.
- a 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.
- the vehicle control ECU 40 has been described as controlling all of the vehicle operations related to the vehicle's behavior, including accelerator operation, brake operation, and steering operation, as automatic driving assistance for automatically driving the vehicle without the user's driving operation.
- automatic driving assistance may also be defined as the vehicle control ECU 40 controlling at least one of the vehicle operations related to the vehicle's behavior, including accelerator operation, brake operation, and steering operation.
- manual driving by the user's driving operation is described as the user performing all of the vehicle operations related to the vehicle's behavior, including accelerator operation, brake operation, and steering operation.
- the driving assistance of the present invention is not limited to automatic driving assistance related to automatic driving of a vehicle.
- the static driving trajectory and the dynamic driving trajectory may be displayed on the navigation screen to assist the user's driving operation.
- the automatic driving assistance program (FIG. 5) 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.
- the in-vehicle device or the vehicle control ECU 40 is configured to obtain the current position of the vehicle, map information, etc. from the navigation device 1 or the server device 4.
- the server device 4 may execute some or all of the steps of the automatic driving assistance program (FIG. 5). In that case, the server device 4 corresponds to the driving assistance device of the present application.
- the present invention can also be applied to mobile phones, smartphones, tablet terminals, personal computers, etc. (hereinafter referred to as mobile terminals, etc.). It can also be applied to a system consisting of a server and a mobile terminal, etc. In that case, each step of the above-mentioned automatic driving assistance program (see FIG. 5) may be implemented by either the server or the mobile terminal, etc.
- a vehicle capable of executing automatic driving assistance and the mobile terminal, etc. must be connected so as to be able to communicate (either wired or wireless).
- the vehicle information acquisition means (51) includes a planned driving route acquisition means (51) for acquiring a planned driving route along which the vehicle (5) will travel, a turning driving section acquisition means (51) for acquiring a turning section along which the vehicle will travel while turning when traveling along the planned driving route, an obstacle information acquisition means (51) for acquiring obstacle information relating to an obstacle (126) present on the planned driving route, an orientation setting means (51) for setting a vehicle orientation when the vehicle reaches a target point including at least one of a start point and an end point of the turning section based on the planned driving route, a driving trajectory generation means (51) for generating a driving trajectory (96, 97, 98) along which the vehicle is recommended to travel while avoiding the obstacle in the turning section by using the obstacle information, on condition that the orientation of the vehicle when it reaches the target point is the orientation set by the orientation setting means, and a driving assistance means (51) for providing driving assistance for the vehicle based on the driving trajectory generated by the driving trajectory generation
- this embodiment has an overlap determination means (51) that determines whether the obstacle (126) is located at a position overlapping the center line of the lane in which the vehicle (5) is scheduled to travel when the turning section is a section where the vehicle (5) travels while turning on a curved road, and the travel trajectory generation means (51) preferably generates, as a recommended travel trajectory for the vehicle, a travel trajectory that is modified, when the obstacle is located at a position overlapping the center line, based on the center line so as not to overlap the obstacle for the overlap target section including the range of overlap with the obstacle within the center line.
- This configuration makes it possible to generate a driving trajectory that avoids obstacles with minimal vehicle movement while driving near the recommended driving trajectory if there are no obstacles.
- this embodiment is preferable in that, when the turning section is a section where the vehicle (5) turns while traveling on a curved road, the overlap determination means (51) determines whether the obstacle (126) is located at a position overlapping with the center line (125) of the lane in which the vehicle (5) is scheduled to travel, and when the obstacle is located at a position that does not overlap with the center line, the traveling trajectory generation means (51) generates, as the recommended traveling trajectory for the vehicle, a traveling trajectory that is based on a reference traveling trajectory (131) that is a traveling trajectory for which the vehicle is recommended to travel in the turning section generated without taking the obstacle into consideration, and modifies the reference traveling trajectory so that it does not overlap with the obstacle for the overlap target section that includes the range that overlaps with the obstacle.
- the overlap determination means (51) determines whether the obstacle (126) is located at a position overlapping with the center line (125) of the lane in which the vehicle (5) is scheduled to travel, and when the obstacle is located at a position that does not overlap with the center line, the traveling trajectory generation means
- This configuration makes it possible to generate a driving trajectory that avoids obstacles with minimal vehicle movement while driving near the recommended driving trajectory if there are no obstacles.
- this embodiment has a start vector acquisition means (51) that acquires a start vector (83) that specifies the position and orientation of the vehicle at the start point of the turning section based on the orientation of the vehicle (5) set by the orientation setting means (51), and an end vector acquisition means (51) that acquires an end vector (84) that specifies the position and orientation of the vehicle at the end point of the turning section based on the orientation of the vehicle set by the orientation setting means, and the driving trajectory generation means (51) preferably divides the overlapping target section into a plurality of sections, sets candidate passing points (X1 to X3, Y1 to Y3, Z1 to Z3) through which the vehicle passes at the boundaries of the divided plurality of sections, and generates a driving trajectory that passes from the start vector, passes through the candidate passing points at the boundaries of the sections, and passes to the end vector in the direction of each vector, as a driving trajectory for which vehicle driving is recommended.
- This configuration makes it possible to generate a driving trajectory that does not overlap with obstacles in the overlap target section and that ensures that the vehicle's orientation when reaching the start and end points of the turning section is the recommended orientation.
- the driving trajectory generation means (51) preferably sets a plurality of candidate passing points (X1 to X3, Y1 to Y3, Z1 to Z3) through which the vehicle (5) passes at the boundaries of the plurality of sections, generates a driving trajectory for each candidate passing point, which passes from the start vector (83) through the candidate passing points at the boundaries of the plurality of sections to the end vector (84) in the direction of each vector, compares the plurality of candidate passing trajectories generated for each candidate passing point, selects a candidate passing trajectory that does not overlap with an obstacle (126) and is determined to be the most recommended for vehicle driving, and generates a driving trajectory for which vehicle driving is recommended using the selected candidate passing trajectory.
- This configuration makes it possible to propose multiple driving trajectory candidates that do not overlap with obstacles in the overlap target section, and to select the most recommended driving trajectory from among the proposed driving trajectory candidates.
- the driving trajectory generation means (51) calculates costs for multiple driving trajectory candidates generated for each of the candidate passing points (X1 to X3, Y1 to Y3, Z1 to Z3), compares the calculated costs, and selects from the multiple driving trajectory candidates a driving trajectory candidate that does not overlap with an obstacle (126) and is determined to be the most recommended driving trajectory for the vehicle.
- this embodiment has a start vector acquisition means (51) that acquires a plurality of start vectors (83) that identify the position and orientation of the vehicle at the start point of the turning section based on the orientation of the vehicle (5) set by the orientation setting means (51), and an end vector acquisition means (51) that acquires a plurality of end vectors (84) that identify the position and orientation of the vehicle at the end point of the turning section based on the orientation of the vehicle set by the orientation setting means, and the running trajectory generation means (51) generates a running trajectory that passes through each vector direction from the start vector to the end vector as a running trajectory candidate for each combination of the start vector and the end vector, selects a running trajectory candidate that does not overlap with an obstacle (126) and is determined to be the most recommended running of the vehicle from the generated running trajectory candidates, and preferably generates a running trajectory for which running of the vehicle is recommended using the selected running trajectory candidate.
- 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, 83...start vector (start point of turning section), 84...end vector (end point of turning section), 85...clipping point, 96...first driving trajectory, 97...second driving trajectory, 98...third driving trajectory, 125...guide line (center line of lane), 126...obstacle, 127...moving average line of guide line, 131...guide line (reference driving trajectory)
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Computing Systems (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
車両が走行する走行予定経路を取得し、走行予定経路上に存在する障害物に関する障害物情報についても取得し、走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を含む場合には、走行予定経路に基づいて旋回区間の始点と終点について車両が到達する際の車両の方位を設定し、旋回区間の始点と終点に到達する際の車両の方位が設定された方位となることを条件として、障害物情報を用いて旋回区間において障害物を回避するとともに車両の走行が推奨される走行軌道を生成し、生成された走行軌道に基づいて車両の運転支援を行うように構成する。
Description
本発明は、車両の運転を支援する運転支援装置及びコンピュータプログラムに関する。
近年、車両の走行形態として、ユーザの運転操作に基づいて走行する手動走行以外に、ユーザの運転操作の一部又は全てを車両側で実行することにより、ユーザによる車両の運転を補助する自動運転支援システムについて新たに提案されている。自動運転支援システムでは、例えば、車両の現在位置、車両が走行する車線、周辺の他車両の位置を随時検出し、予め設定された経路に沿って走行するようにステアリング、駆動源、ブレーキ等の車両制御が自動で行われる。
また、上記自動運転支援による走行を行う場合やその他の車両に対する各種運転支援を行う場合において、車両の走行予定経路や地図情報等に基づいて走行が推奨される走行軌道を車両が走行する道路上に予め生成することが行われている。ここで、特にカーブ形状の道路などの車両が旋回を伴って走行する区間(以下、旋回区間という)に対して上記走行軌道を生成する技術として例えば特開2017-100652号公報には、道路の中心線に沿った軌道よりも旋回部分の曲率半径を大きくした軌道を走行軌道とすることで車両の乗り心地を改善した走行軌道を生成する技術について開示されている。また、生成された走行軌道が他車両などの障害物と近接する場合には、障害物との間に所定の安全距離を確保するように走行軌道を修正する技術についても開示されている。
しかしながら、上記特許文献1では上記障害物に基づく走行軌道の修正を行うに際して、旋回区間の始点や終点における車両の方位については考慮されていない。従って、障害物を回避するために走行軌道の修正を行った結果、修正後の走行軌道に従って走行する場合の旋回区間の始点や終点における車両の方位が推奨される方位とならない場合もある。例えば、図42に示す例ではカーブ形状の道路からなる旋回区間について障害物151を回避するように修正した走行軌道152を示すが、車両が走行軌道152に沿って走行した場合に旋回区間の終点において車両の車体の向き(角度)がその後の直進道路に沿った向きとなっておらずステアリングも中立状態にないことから、車体の向きが道路の直進方向と同方向となり且つステアリングも中立状態となるような修正を行うための修正軌道153が必要となる。その結果、車両の挙動がスムーズにならず、急な速度変化や横加速度も生じることとなり、車両にとって推奨される走行軌道とならない問題があった。尚、図42は旋回区間の終点とその後の道路の接続部分を示すが、旋回区間の始点とその手前の道路の接続部分についても同様の問題が生じる可能性がある。
本発明は前記従来における問題点を解消するためになされたものであり、旋回区間について特に障害物を回避する走行軌道を生成する場合において、旋回区間の始点或いは終点の少なくとも一方について車両に不自然な挙動が行われることを防止し、急な速度変化や横加速度を抑えた車両にとって推奨される走行軌道を生成することを可能にした運転支援装置及びコンピュータプログラムを提供することを目的とする。
前記目的を達成するため本発明に係る運転支援装置は、車両が走行する走行予定経路を取得する走行予定経路取得手段と、前記走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する旋回走行区間取得手段と、前記走行予定経路上に存在する障害物に関する障害物情報を取得する障害物情報取得手段と、前記走行予定経路に基づいて前記旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する方位設定手段と、前記対象地点に到達する際の車両の方位が前記方位設定手段で設定された方位となることを条件として、前記障害物情報を用いて前記旋回区間において前記障害物を回避するとともに車両の走行が推奨される走行軌道を生成する走行軌道生成手段と、前記走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う運転支援手段と、を有する。
尚、「車両の旋回を伴って走行する旋回区間」には、例えば道路が所定の曲率で円弧状に曲がる区間(道路の曲率が変化する形状も含む)に加えて、直角などの所定の角度で屈曲する区間、車両が右左折する対象となる交差点(分岐点)の区間を含む。更に、公道上だけではなく、駐車場等の施設内において車両の旋回を伴って走行する区間、駐車スペースへの進入或いは退出する為に旋回を行う区間、或いは公道から施設内に進入又は施設内から公道に進入する為に旋回して走行する区間等も含まれる。
また、「車両の方位」とは、車両の車体の向き(角度)であっても良いし、車両の進行方向(タイヤの向き、ステアリング角度)であっても良い。
尚、「車両の旋回を伴って走行する旋回区間」には、例えば道路が所定の曲率で円弧状に曲がる区間(道路の曲率が変化する形状も含む)に加えて、直角などの所定の角度で屈曲する区間、車両が右左折する対象となる交差点(分岐点)の区間を含む。更に、公道上だけではなく、駐車場等の施設内において車両の旋回を伴って走行する区間、駐車スペースへの進入或いは退出する為に旋回を行う区間、或いは公道から施設内に進入又は施設内から公道に進入する為に旋回して走行する区間等も含まれる。
また、「車両の方位」とは、車両の車体の向き(角度)であっても良いし、車両の進行方向(タイヤの向き、ステアリング角度)であっても良い。
また、本発明に係るコンピュータプログラムは、車両において実施する運転支援に用いる支援情報を生成するプログラムである。具体的には、コンピュータを、車両が走行する走行予定経路を取得する走行予定経路取得手段と、前記走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する旋回走行区間取得手段と、前記走行予定経路上に存在する障害物に関する障害物情報を取得する障害物情報取得手段と、前記走行予定経路に基づいて前記旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する方位設定手段と、前記対象地点に到達する際の車両の方位が前記方位設定手段で設定された方位となることを条件として、前記障害物情報を用いて前記旋回区間において前記障害物を回避するとともに車両の走行が推奨される走行軌道を生成する走行軌道生成手段と、前記走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う運転支援手段と、して機能させる。
前記構成を有する本発明に係る運転支援装置及びコンピュータプログラムによれば、旋回区間について特に障害物を回避する走行軌道を生成する場合において、旋回区間の始点或いは終点の少なくとも一方について車両に不自然な挙動が行われることを防止し、急な速度変化や横加速度を抑えた車両にとって推奨される走行軌道を生成することが可能となる。その結果、車両の乗員に負担を生じさせない適切な運転支援を実施することが可能となる。
以下、本発明に係る運転支援装置をナビゲーション装置1に具体化した一実施形態について図面を参照しつつ詳細に説明する。先ず、本実施形態に係るナビゲーション装置1を含む運転支援システム2の概略構成について図1及び図2を用いて説明する。図1は本実施形態に係る運転支援システム2を示した概略構成図である。図2は本実施形態に係る運転支援システム2の構成を示したブロック図である。
図1に示すように、本実施形態に係る運転支援システム2は、情報配信センタ3が備えるサーバ装置4と、車両5に搭載されて車両5の自動運転に関する各種支援を行うナビゲーション装置1と、を基本的に有する。また、サーバ装置4とナビゲーション装置1は通信ネットワーク網6を介して互いに電子データを送受信可能に構成されている。尚、ナビゲーション装置1の代わりに、車両5に搭載された他の車載器や車両5に関する制御を行う車両制御装置を用いても良い。
ここで、車両5はユーザの運転操作に基づいて走行する手動運転走行に加えて、ユーザの運転操作によらず車両が予め設定された経路や道なりに沿って自動的に走行を行う自動運転支援による支援走行が可能な車両とする。
また、自動運転支援は全ての道路区間に対して行っても良いし、特定の道路区間(例えば境界にゲート(有人無人、有料無料は問わない)が設けられた高速道路)を車両が走行する間のみ行う構成としても良い。以下の説明では車両の自動運転支援が行われる自動運転区間は、一般道や高速道路を含む全ての道路区間に加えて駐車場も含むこととし、車両が走行を開始してから走行を終了するまで(車両を駐車するまで)の間において基本的に自動運転支援が行われるとして説明する。但し、車両が自動運転区間を走行する場合には必ず自動運転支援が行われるのではなく、ユーザにより自動運転支援を行うことが選択され(例えば自動運転開始ボタンをONする)、且つ自動運転支援による走行を行わせることが可能と判定された状況でのみ行うのが望ましい。一方で、車両5は自動運転支援による支援走行のみ可能な車両としても良い。
そして、自動運転支援における車両制御では、例えば、車両の現在位置、車両が走行する車線、周辺の障害物の位置を随時検出し、後述のようにナビゲーション装置1で生成された走行軌道に沿って、同じく生成された速度計画に従った速度で走行するようにステアリング、駆動源、ブレーキ等の車両制御が自動で行われる。尚、本実施形態の自動運転支援による支援走行では、車線変更や右左折や駐車操作についても上記自動運転支援による車両制御を行うことにより走行するが、車線変更や右左折や駐車操作等の特殊な走行については自動運転支援による走行は行わずに手動運転により行う構成としても良い。
一方、ナビゲーション装置1は、車両5に搭載され、ナビゲーション装置1が有する地図データ或いは外部から取得した地図データに基づいて自車位置周辺の地図を表示したり、ユーザの目的地の入力を行ったり、地図画像上において車両の現在位置を表示したり、設定された案内経路に沿った移動案内を行う車載機である。本実施形態では特に自動運転支援による支援走行を車両が行う場合に、自動運転支援に関する各種支援情報を生成する。支援情報としては例えば車両の走行が推奨される走行軌道(推奨される車線移動態様を含む)、目的地において車両を駐車する駐車位置の選択、走行する際の車速を示す速度計画等がある。尚、ナビゲーション装置1の詳細については後述する。
また、サーバ装置4は、ナビゲーション装置1の要求に応じて経路探索の実行を行う。具体的には、ナビゲーション装置1からサーバ装置4へと出発地や目的地等の経路探索に必要な情報が経路探索要求とともに送信される(但し、再探索の場合には目的地に関する情報は必ずしも送信する必要は無い)。そして経路探索要求を受信したサーバ装置4は、サーバ装置4の有する地図情報を用いて経路探索を行い、出発地から目的地までの推奨経路を特定する。その後、特定された推奨経路を要求元のナビゲーション装置1へと送信する。そして、ナビゲーション装置1は受信した推奨経路に関する情報をユーザに提供したり、推奨経路を使って後述のように自動運転支援に関する各種支援情報を生成することも可能である。
更に、サーバ装置4は、上記経路探索に用いる通常の地図情報とは別に、より精度の高い地図情報である高精度地図情報と施設情報を有している。高精度地図情報は、例えば道路のレーン形状(車線単位の道路形状や曲率、屈曲角度、車線幅等)と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報が含まれる。また、その他に交差点に関する情報等も含まれる。更に、道路に設定された制限速度、信号機、横断歩道、踏切、一時停止の道路標識などの車両の走行を規制(より具体的には停止や減速を要求)する存在(以下、規制物という)について、規制物の種類と位置を特定する規制情報についても含まれている。一方、施設情報は、地図情報に含まれる施設に関する情報とは別に格納される施設に関するより詳細な情報であり、例えば施設のフロアマップ、駐車場の出入口に関する情報、駐車場が備える通路(車路)や駐車スペースの配置情報、駐車スペースや車路を区画する区画線の情報、駐車場の出入口と車線との接続関係を示す接続情報等が含まれる。
更に、サーバ装置4は、道路上や駐車場内にある障害物について、障害物の種類と位置(範囲に跨る場合には形状(占有領域))を特定する障害物情報についても有する。ここで、障害物としては例えば路上に駐停車された車両、道路の工事現場に設置される看板や柵、路面の凹凸、電柱やブロックなどの構造物などが該当する。尚、障害物の種類と位置については例えば道路や駐車場を実際に走行する車両のカメラ画像やセンサの検出結果を収集することにより特定することが可能となる。
そして、サーバ装置4はナビゲーション装置1からの要求に応じて高精度地図情報や施設情報や障害物情報を配信し、ナビゲーション装置1はサーバ装置4から配信された高精度地図情報や施設情報や障害物情報を用いて後述のように自動運転支援に関する各種支援情報を生成する。尚、高精度地図情報は基本的に道路(リンク)とその周辺のみを対象とした地図情報であるが、道路周辺以外のエリアについても含む地図情報としても良い。
但し、上述した経路探索処理については必ずしもサーバ装置4で行う必要は無く、地図情報を有するナビゲーション装置1であればナビゲーション装置1で行っても良い。また、高精度地図情報や施設情報についてもサーバ装置4から配信されるのではなくナビゲーション装置1が予め有するようにしても良い。
また、通信ネットワーク網6は全国各地に配置された多数の基地局と、各基地局を管理及び制御する通信会社とを含み、基地局及び通信会社を有線(光ファイバー、ISDN等)又は無線で互いに接続することにより構成されている。ここで、基地局はナビゲーション装置1との通信をするトランシーバー(送受信機)とアンテナを有する。そして、基地局は通信会社の間で無線通信を行う一方、通信ネットワーク網6の末端となり、基地局の電波が届く範囲(セル)にあるナビゲーション装置1の通信をサーバ装置4との間で中継する役割を持つ。
続いて、運転支援システム2におけるサーバ装置4の構成について図2を用いてより詳細に説明する。サーバ装置4は、図2に示すようにサーバ制御部11と、サーバ制御部11に接続された情報記録手段としてのサーバ側地図DB12と、高精度地図DB13と、施設DB14と、障害物情報DB15と、サーバ側通信装置20とを備える。
サーバ制御部11は、サーバ装置4の全体の制御を行う制御ユニット(MCU、MPU等)であり、演算装置及び制御装置としてのCPU21、並びにCPU21が各種の演算処理を行うにあたってワーキングメモリとして使用されるRAM22、制御用のプログラム等が記録されたROM23、ROM23から読み出したプログラムを記憶するフラッシュメモリ24等の内部記憶装置を備えている。尚、サーバ制御部11は、後述のナビゲーション装置1のECUとともに処理アルゴリズムとしての各種手段を有する。
一方、サーバ側地図DB12は、外部からの入力データや入力操作に基づいて登録された最新のバージョンの地図情報であるサーバ側地図情報が記憶される記憶手段である。ここで、サーバ側地図情報は、道路網を始めとして経路探索、経路案内及び地図表示に必要な各種情報から構成されている。例えば、道路網を示すノード及びリンクを含むネットワークデータ、道路(リンク)に関するリンクデータ、ノード点に関するノードデータ、各交差点に関する交差点データ、施設等の地点に関する地点データ、地図を表示するための地図表示データ、経路を探索するための探索データ、地点を検索するための検索データ等からなる。
また、高精度地図DB13は、上記サーバ側地図情報よりも精度の高い地図情報である高精度地図情報16が記憶される記憶手段である。高精度地図情報16は、特に車両が走行対象となる道路に関してより詳細な情報を格納した地図情報であり、本実施形態では例えば道路に関してはレーン形状(車線単位の道路形状や曲率、車線幅等)と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報が含まれる。更に、道路の勾(こう)配、カント、バンク、合流区間、車線数の減少する箇所、幅員の狭くなる箇所、踏切等を表すデータが、カーブに関して曲率半径や屈曲角度を表すデータが、交差点、T字路等の分岐点を表すデータが、道路属性に関して、降坂路、登坂路等を表すデータが、道路種別に関して、国道、県道、細街路等の一般道のほか、高速自動車国道、都市高速道路、自動車専用道路、一般有料道路、有料橋等の有料道路を表すデータがそれぞれ記録される。更に、道路に設定された制限速度、信号機、横断歩道、踏切、一時停止の道路標識などの車両の走行を規制する存在(規制物)について、規制物の種類と位置を特定する規制情報についても含まれている。また、区画線に関する情報としては、どの種類の区画線が道路に対してどのように配置されているかを特定する情報が記憶される。尚、以下の説明において「カーブ」とは、道路が所定の曲率で円弧状に曲がる形状(道路の曲率が変化する形状も含む)に加えて、直角などの所定の角度で屈曲する形状(例えばL字路)についても含むものとする。また、道路の車線数に加えて、車線毎の進行方向の通行区分や道路の繋がり(具体的には、交差点の通過前の道路に含まれる車線と交差点の通過後の道路に含まれる車線との対応関係)を特定する情報についても記憶されている。
一方、施設DB14は、上記サーバ側地図情報に格納される施設に関する情報よりも、より詳細な施設に関する情報が記憶される記憶手段である。具体的には、施設情報17として特に車両の駐車対象となる駐車場(施設に付随する駐車場も独立型の駐車場も含む)について、駐車場の出入口の位置を特定する情報、駐車場内の駐車スペースの配置を特定する情報、駐車スペースや車路を区画する区画線に関する情報等が含まれる。尚、車路については車路の形状(即ち駐車場内において車両が走行可能な領域)を特定する情報、車路において制限速度等の車両の走行を規制する存在(規制物)があれば、規制物の種類と位置を特定する規制情報について少なくとも含む。駐車場以外の施設に関しては施設のフロアマップを特定する情報が含まれる。フロアマップには、例えば出入口、通路、階段、エレベーター、エスカレーターの位置を特定する情報が含まれる。また、複数のテナントを有する複合型商業施設では入居する各テナントの位置を特定する情報が含まれる。施設情報17は特に駐車場や施設を3Dモデルによって生成した情報としても良い。更に、施設DB14には、駐車場の出入口に面した進入道路に含まれる車線と駐車場の出入口との間の接続関係を示す接続情報18と、進入道路と駐車場の出入口との間において車両の通行可能な領域を特定する道路外形状情報19についても含まれる。
尚、高精度地図情報16は基本的に道路(リンク)とその周辺のみを対象とした地図情報であるが、道路周辺以外のエリアについても含む地図情報としても良い。また、図2に示す例ではサーバ側地図DB12に格納されるサーバ側地図情報と高精度地図DB13や施設DB14に格納される情報は異なる地図情報としているが、高精度地図DB13や施設DB14に格納される情報はサーバ側地図情報の一部としても良い。また、高精度地図DB13と施設DB14は分けずに一のデータベースとしても良い。
また、障害物情報DB15は、各車両から収集されるプローブ情報を統計或いは解析することによって生成された障害物に関する情報(障害物情報)を累積的に記憶する記憶手段である。尚、障害物は、道路或いは駐車場などの施設内を走行する車両の走行を妨げる要因となる物であり、例えば路上に駐停車された車両、道路の工事現場に設置される看板や柵、路面の凹凸、電柱やブロックなどの構造物等が該当する。尚、本実施形態においては、車両から収集されるプローブ情報として、特に(a)車両が備える車載カメラやその他のセンサを用いた障害物の検出結果、(b)車両の位置座標及び車速が含まれる。そして、それらのプローブ情報を統計或いは解析することによって、全国の道路上や駐車場などの施設内にある障害物の種類や位置をサーバ装置4側で管理し、障害物情報DB15に格納する。但し、障害物に関する情報はプローブ情報以外から取得するようにしても良い。
図3は障害物情報DB15に記憶される障害物情報の一例を示した図である。図3に示すように障害物情報は、障害物を検出した日時を特定する情報と、障害物の種類と、障害物の位置を特定する情報を含む。更に障害物の位置は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲で特定しており、例えば図3に示す例ではリンクID“100001”のリンクの始点から20mの位置において、全長(道路進行方向)3.5m、最も左側の車線の左端から1mまでの範囲に、駐車車両が位置することを示している。また、リンクID“100013”のリンクの始点から30mの位置において、全長(道路進行方向)3.5m、最も左側の車線の左端を始点とした0.2mから2.0mまでの範囲に、駐車車両が位置することを示している。また、リンクID“100101”のリンクの始点から50mの位置において、全長(道路進行方向)3.5m、最も左側の車線の左端を始点とした0.4mから2.2mまでの範囲に、駐車車両が位置することを示している。尚、『車線No.』は、例えばリンクに含まれる複数の車線について、左から順に1、2、3・・・と規定する。
そして、サーバ装置4は、障害物情報DB15に記憶された障害物情報をナビゲーション装置1の要求に応じてナビゲーション装置1に配信する。一方で、障害物情報の配信されたナビゲーション装置1は、配信された障害物情報を用いて後述のように自動運転支援に関する各種支援情報を生成する。
一方、サーバ側通信装置20は各車両5のナビゲーション装置1と通信ネットワーク網6を介して通信を行う為の通信装置である。また、ナビゲーション装置1以外にインターネット網や、交通情報センタ、例えば、VICS(登録商標:Vehicle Information and Communication System)センタ等から送信された渋滞情報、規制情報、交通事故情報等の各情報から成る交通情報の受信についても可能である。
次に、車両5に搭載されたナビゲーション装置1の概略構成について図4を用いて説明する。図4は本実施形態に係るナビゲーション装置1を示したブロック図である。
図4に示すように本実施形態に係るナビゲーション装置1は、ナビゲーション装置1が搭載された車両の現在位置を検出する現在位置検出部31と、各種のデータが記録されたデータ記録部32と、入力された情報に基づいて、各種の演算処理を行うナビゲーションECU33と、ユーザからの操作を受け付ける操作部34と、ユーザに対して車両周辺の地図やナビゲーション装置1で設定されている案内経路(車両の走行予定経路)に関する情報等を表示する液晶ディスプレイ35と、経路案内に関する音声ガイダンスを出力するスピーカ36と、記憶媒体であるDVDを読み取るDVDドライブ37と、プローブセンタやVICSセンタ等の情報センタとの間で通信を行う通信モジュール38と、を有する。また、ナビゲーション装置1はCAN等の車載ネットワークを介して、ナビゲーション装置1の搭載された車両に対して設置された車外カメラ39や各種センサが接続されている。更に、ナビゲーション装置1の搭載された車両に対する各種制御を行う車両制御ECU40とも双方向通信可能に接続されている。
以下に、ナビゲーション装置1が有する各構成要素について順に説明する。
現在位置検出部31は、GPS41、車速センサ42、ステアリングセンサ43、ジャイロセンサ44等からなり、現在の車両の位置、方位、車両の走行速度、現在時刻等を検出することが可能となっている。ここで、特に車速センサ42は、車両の移動距離や車速を検出する為のセンサであり、車両の駆動輪の回転に応じてパルスを発生させ、パルス信号をナビゲーションECU33に出力する。そして、ナビゲーションECU33は発生するパルスを計数することにより駆動輪の回転速度や移動距離を算出する。尚、上記4種類のセンサをナビゲーション装置1が全て備える必要はなく、これらの内の1又は複数種類のセンサのみをナビゲーション装置1が備える構成としても良い。
現在位置検出部31は、GPS41、車速センサ42、ステアリングセンサ43、ジャイロセンサ44等からなり、現在の車両の位置、方位、車両の走行速度、現在時刻等を検出することが可能となっている。ここで、特に車速センサ42は、車両の移動距離や車速を検出する為のセンサであり、車両の駆動輪の回転に応じてパルスを発生させ、パルス信号をナビゲーションECU33に出力する。そして、ナビゲーションECU33は発生するパルスを計数することにより駆動輪の回転速度や移動距離を算出する。尚、上記4種類のセンサをナビゲーション装置1が全て備える必要はなく、これらの内の1又は複数種類のセンサのみをナビゲーション装置1が備える構成としても良い。
また、データ記録部32は、外部記憶装置及び記録媒体としてのハードディスク(図示せず)と、ハードディスクに記録された地図情報DB45やキャッシュ46や所定のプログラム等を読み出すとともにハードディスクに所定のデータを書き込む為のドライバである記録ヘッド(図示せず)とを備えている。尚、データ記録部32をハードディスクの代わりにフラッシュメモリやメモリーカードやCDやDVD等の光ディスクを有しても良い。また、本実施形態では上述したようにサーバ装置4において目的地までの経路を探索するので、地図情報DB45については省略しても良い。地図情報DB45を省略した場合であっても、必要に応じてサーバ装置4から地図情報を取得することも可能である。
ここで、地図情報DB45は、例えば、道路(リンク)に関するリンクデータ、ノード点に関するノードデータ、経路の探索や変更に係る処理に用いられる探索データ、施設に関する施設データ、地図を表示するための地図表示データ、各交差点に関する交差点データ、地点を検索するための検索データ等が記憶された記憶手段である。
一方、キャッシュ46は、過去にサーバ装置4から配信された高精度地図情報16、施設情報17、接続情報18、道路外形状情報19、障害物情報が保管される記憶手段である。保管する期間は適宜設定可能であるが、例えば記憶されてから所定期間(例えば1カ月)としても良いし、車両のACC電源(accessory power supply)がOFFされるまでとしても良い。また、キャッシュ46に格納されるデータ量が上限となった後に古いデータから順次削除するようにしても良い。そして、ナビゲーションECU33は、キャッシュ46に格納された高精度地図情報16、施設情報17、接続情報18、道路外形状情報19、障害物情報を用いて、自動運転支援に関する各種支援情報を生成する。詳細については後述する。
一方、ナビゲーションECU(エレクトロニック・コントロール・ユニット)33は、ナビゲーション装置1の全体の制御を行う電子制御ユニットであり、演算装置及び制御装置としてのCPU51、並びにCPU51が各種の演算処理を行うにあたってワーキングメモリとして使用されるとともに、経路が探索されたときの経路データ等が記憶されるRAM52、制御用のプログラムのほか、後述の自動運転支援プログラム(図5参照)等が記録されたROM53、ROM53から読み出したプログラムを記憶するフラッシュメモリ54等の内部記憶装置を備えている。尚、ナビゲーションECU33は、処理アルゴリズムとしての各種手段を有する。例えば、走行予定経路取得手段は、車両が走行する走行予定経路を取得する。旋回走行区間取得手段は、走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する。障害物情報取得手段は、走行予定経路上に存在する障害物に関する障害物情報を取得する。方位設定手段は、走行予定経路に基づいて旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する。走行軌道生成手段は、対象地点に到達する際の車両の方位が方位設定手段で設定された方位となることを条件として、障害物情報を用いて旋回区間において障害物を回避するとともに車両の走行が推奨される走行軌道を生成する。運転支援手段は、走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う。
操作部34は、走行開始地点としての出発地及び走行終了地点としての目的地を入力する際等に操作され、各種のキー、ボタン等の複数の操作スイッチ(図示せず)を有する。そして、ナビゲーションECU33は、各スイッチの押下等により出力されるスイッチ信号に基づき、対応する各種の動作を実行すべく制御を行う。尚、操作部34は液晶ディスプレイ35の前面に設けたタッチパネルを有しても良い。また、マイクと音声認識装置を有しても良い。
また、液晶ディスプレイ35には、道路を含む地図画像、交通情報、操作案内、操作メニュー、キーの案内、案内経路(走行予定経路)に沿った案内情報、ニュース、天気予報、時刻、メール、テレビ番組等が表示される。尚、液晶ディスプレイ35の代わりに、HUDやHMDを用いても良い。
また、スピーカ36は、ナビゲーションECU33からの指示に基づいて案内経路(走行予定経路)に沿った走行を案内する音声ガイダンスや、交通情報の案内を出力する。
また、DVDドライブ37は、DVDやCD等の記録媒体に記録されたデータを読み取り可能なドライブである。そして、読み取ったデータに基づいて音楽や映像の再生、地図情報DB45の更新等が行われる。尚、DVDドライブ37に替えてメモリーカードを読み書きする為のカードスロットを設けても良い。
また、通信モジュール38は、交通情報センタ、例えば、VICSセンタやプローブセンタ等から送信された交通情報、プローブ情報、天候情報等を受信する為の通信装置であり、例えば携帯電話機やDCMが該当する。また、車車間で通信を行う車車間通信装置や路側機との間で通信を行う路車間通信装置も含む。また、サーバ装置4で探索された経路情報や高精度地図情報16、施設情報17、接続情報18、道路外形状情報19、障害物情報等をサーバ装置4との間で送受信するのにも用いられる。
また、車外カメラ39は、例えばCCD等の固体撮像素子を用いたカメラにより構成され、車両のフロントバンパの上方に取り付けられるとともに光軸方向を水平より所定角度下方に向けて設置される。そして、車外カメラ39は、車両が自動運転区間を走行する場合において、車両の進行方向前方を撮像する。また、ナビゲーションECU33は撮像された撮像画像に対して画像処理を行うことによって、車両が走行する道路に描かれた区画線や周辺の他車両等の障害物を検出し、検出結果に基づいて自動運転支援に関する各種支援情報を生成する。例えば、障害物を検出した場合には、障害物を回避或いは追従して走行する新たな走行軌道を生成する。更に、路上に駐停車された車両、道路の工事現場に設置される看板や柵、路面の凹凸、電柱やブロックなどの構造物等の車両の走行を妨げる要因となる障害物を検出した場合については、検出した障害物の位置や種類を特定する情報をプローブ情報としてサーバ装置4へと送信することも行う。尚、車外カメラ39は車両前方以外に後方や側方に配置するように構成しても良い。また、障害物を検出する手段としてはカメラの代わりにミリ波レーダやレーザセンサ等のセンサや車車間通信や路車間通信を用いても良い。
また、車両制御ECU40は、ナビゲーション装置1が搭載された車両の制御を行う電子制御ユニットである。また、車両制御ECU40にはステアリング、ブレーキ、アクセル等の車両の各駆動部と接続されており、本実施形態では特に車両において自動運転支援が開始された後に、各駆動部を制御することにより車両の自動運転支援を実施する。また、自動運転支援中にユーザによってオーバーライドが行われた場合には、オーバーライドが行われたことを検出する。
ここで、ナビゲーションECU33は、走行開始後にCANを介して車両制御ECU40に対してナビゲーション装置1で生成された自動運転支援に関する各種支援情報を送信する。そして、車両制御ECU40は受信した各種支援情報を用いて走行開始後の自動運転支援を実施する。支援情報としては例えば車両の走行が推奨される走行軌道、走行する際の車速を示す速度計画等がある。
続いて、上記構成を有する本実施形態に係るナビゲーション装置1においてCPU51が実行する自動運転支援プログラムについて図5に基づき説明する。図5は本実施形態に係る自動運転支援プログラムのフローチャートである。ここで、自動運転支援プログラムは、車両のACC電源(accessory power supply)がONされた後であって自動運転支援による車両の走行が開始された場合に実行され、ナビゲーション装置1で生成された支援情報に従って自動運転支援による支援走行を実施するプログラムである。また、以下の図5、図8、図11、図14、図23、図25及び図33にフローチャートで示されるプログラムは、ナビゲーション装置1が備えているRAM52やROM53に記憶されており、CPU51により実行される。
先ず、自動運転支援プログラムではステップ(以下、Sと略記する)1において、CPU51は、車両が今後走行する予定にある経路(以下、走行予定経路という)を取得する。尚、車両の走行予定経路は、例えばユーザが目的地を設定することによってサーバ装置4により探索された目的地までの推奨経路とする。尚、目的地が設定されていない場合には、車両の現在位置から道なりに走行する経路を走行予定経路としても良い。
また、推奨経路の探索を行う場合に先ずCPU51は、サーバ装置4に対して経路探索要求を送信する。尚、経路探索要求には、経路探索要求の送信元のナビゲーション装置1を特定する端末IDと、出発地(例えば車両の現在位置)及び目的地を特定する情報と、が含まれている。尚、再探索時については目的地を特定する情報は必ずしも必要では無い。その後、CPU51は経路探索要求に応じてサーバ装置4から送信された探索経路情報を受信する。探索経路情報は、送信した経路探索要求に基づいてサーバ装置4が最新のバージョンの地図情報を用いて探索した出発地から目的地までの推奨経路(センタールート)を特定する情報(例えば推奨経路に含まれるリンク列)である。例えば公知のダイクストラ法を用いて探索される。
尚、上記推奨経路の探索では、目的地において駐車場で車両を駐車する為に推奨される駐車位置(駐車スペース)を選択し、選択された駐車位置までの推奨経路を探索するのが望ましい。即ち、探索される推奨経路には駐車場までの経路に加えて駐車場内での車の移動を示す経路についても含むのが望ましい。例えば駐車場内で空き状態にある駐車スペースの内から、ユーザにとって停車し易い駐車スペース(例えば駐車場の出入口から近い駐車スペース、左右に他車両が駐車していない駐車スペースなど)をユーザが駐車を行うのに推奨される駐車位置の候補として決定する。また、駐車位置の選択については、駐車位置までの車両の移動に加えて車両を駐車した後の徒歩の移動や、帰りに駐車位置から出庫する際の車の移動についても考慮してユーザの負担が軽くなる駐車位置を選択するのが望ましい。
また、車両を駐車する為に推奨される駐車位置は複数候補選択しても良い。また、車両を駐車する為に推奨される駐車位置を複数候補選択した場合については、前記S1において各駐車位置までの推奨経路が走行予定経路として取得される、即ち複数の走行予定経路の候補が取得されることとなる。更に、推奨される駐車位置を一のみ選択した場合であっても、その駐車位置に対して推奨経路が複数考えられる場合には複数の走行予定経路の候補を取得しても良い。尚、前記S1において複数の走行予定経路の候補を取得した場合には、後述のS25において複数の走行予定経路間で車線移動態様を比較し、推奨される車線移動態様を一に決定することで、駐車位置及び走行予定経路も一に決定されることとなる。
また、サーバ装置4は、ユーザが駐車を行う駐車場の出入口に面した道路(以下、進入道路という)に含まれる車線と駐車場の出入口との間の接続関係を示す接続情報18を参照し、進入道路から駐車場への進入可能な進行方向が限られている場合(例えば左折による進入のみ可)については、進入方向についても考慮して上記走行予定経路の探索を行う。尚、ルートの探索方法としてはダイクストラ法以外の探索手段を用いても良い。また、前記S1の走行予定経路の探索はサーバ装置4でなくナビゲーション装置1において行うようにしても良い。
次に、S2においてCPU51は、車両の現在位置から前記S1で取得された走行予定経路を含むエリアを対象として高精度地図情報16を取得する。
ここで、高精度地図情報16は図6に示すように矩形形状(例えば500m×1km)に区分されてサーバ装置4の高精度地図DB13に格納されている。従って、例えば図6に示すように車両の走行予定経路として経路61が取得された場合には、経路61を含むエリア62~65を対象として高精度地図情報16が取得される。但し、目的地までの距離が特に遠い場合については、例えば車両が現在位置する2次メッシュのみを対象として高精度地図情報16を取得しても良いし、車両の現在位置から所定距離(例えば3km以内)内のエリアのみを対象として高精度地図情報16を取得するようにしても良い。
高精度地図情報16には例えば道路のレーン形状と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報が含まれる。更に、道路や車路に設定された制限速度、信号機、横断歩道、踏切、一時停止の道路標識などの車両の走行を規制(より具体的には停止や減速を要求)する存在(規制物)について、規制物の種類と位置を特定する規制情報についても含まれている。また、その他に交差点に関する情報、駐車場に関する情報等も含まれる。高精度地図情報16は基本的にサーバ装置4から上述した矩形形状のエリア単位で取得されるが、キャッシュ46に既に格納されているエリアの高精度地図情報16が存在する場合には、キャッシュ46から取得する。また、サーバ装置4から取得された高精度地図情報16はキャッシュ46に一旦格納される。
また、前記S2においてCPU51は、ユーザが駐車を行う駐車場の出入口に面した進入道路に含まれる車線と駐車場の出入口との間の接続関係を示す接続情報18と、進入道路とユーザが駐車を行う駐車場の出入口との間において車両の通行可能な領域を特定する道路外形状情報19と、走行予定経路上(道路上も駐車場などの施設内も含む)にある障害物に関する障害物情報についても同様に取得する。
その後、S3においてCPU51は、後述の静的走行軌道生成処理(図8)を実行する。ここで、静的走行軌道生成処理は、車両の走行予定経路と前記S2で取得した高精度地図情報16と基づいて、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道を生成する処理である。特に、CPU51は車両に走行が推奨される車線を特定するだけではなく、車線内において走行が推奨される具体的な走行位置まで特定した走行軌道を静的走行軌道として生成する。また、障害物情報DB15に管理されている障害物については、障害物情報をサーバ装置4から取得することでその障害物を回避した走行軌道を生成する。尚、目的地までの距離が特に遠い場合には、車両の現在位置から進行方向に沿って所定距離前方までの区間(例えば車両が現在位置する2次メッシュ内)を対象とした静的走行軌道のみを生成しても良い。尚、所定距離については適宜変更可能であるが、少なくとも車外カメラ39やその他のセンサによって車両周辺の道路状況を検出することが可能な範囲(検出範囲)外を含む領域を対象として静的走行軌道を生成する。
次に、S4においてCPU51は、前記S2で取得した高精度地図情報16に基づいて、前記S3で生成された静的走行軌道を走行する際の車両の速度計画を生成する。例えば、制限速度情報や走行予定経路上にある速度変化地点(例えば交差点、カーブ、踏切、横断歩道など)を考慮して、静的走行軌道を走行する際に推奨される車両の走行速度を算出する。
そして、前記S4で生成された速度計画は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。また、前記S4で生成された速度計画を実現する為に必要な車両の加減速を示す加速度の計画についても自動運転支援に用いる支援情報として生成するようにしても良い。
続いて、S5においてCPU51は、車外カメラ39で撮像された撮像画像に対して画像処理を行うことによって、周辺の道路状況として、特に自車両の周辺に自車両の走行に影響が生じる要因が存在するか否かを判定する。ここで、前記S5で判定対象となる“自車両の走行に影響が生じる要因”は、リアルタイムで変化する動的な要因とし、道路構造に基づくような静的な要因は除かれる。例えば、自車両の進行方向前方を走行又は駐車する他車両、渋滞車両、自車両の進行方向前方に位置する歩行者、自車両の進行方向前方にある工事区間等が該当する。一方で、交差点、カーブ、踏切、合流区間、車線減少区間等は除かれる。また、他車両、歩行者、工事区間が存在する場合であっても、それらが自車両の今後の走行軌道と重複する虞のない場合(例えば自車両の今後の走行軌道から離れた位置にある場合)については“自車両の走行に影響が生じる要因”からは除かれる。従って、後述のように静的走行軌道の生成(S3)を行う際に回避対象とされた障害物(障害物情報DB15に管理されている障害物)については、既に障害物を回避した走行軌道が生成されており、現在の走行軌道と重複しないので“自車両の走行に影響が生じる要因”からは除かれる。また、車両の走行に影響が生じる可能性のある要因を検出する手段としてはカメラの代わりにミリ波レーダやレーザセンサ等のセンサや車車間通信や路車間通信を用いても良い。
また、例えば全国の道路を走行する各車両のリアルタイムの位置等を外部のサーバで管理し、CPU51は自車両の周辺に位置する他車両の位置を外部のサーバから取得して前記S5の判定処理を行うようにしても良い。
そして、自車両の周辺に自車両の走行に影響が生じる要因が存在すると判定された場合(S5:YES)には、S6へと移行する。それに対して、自車両の周辺に自車両の走行に影響が生じる要因が存在しないと判定された場合(S5:NO)には、S9へと移行する。
S6においてCPU51は、車両の現在位置から前記S5で検出された“自車両の走行に影響が生じる要因”を回避或いは追従して静的走行軌道に戻る為の新たな軌道を動的走行軌道として生成する。尚、動的走行軌道は“自車両の走行に影響が生じる要因”を含む区間を対象として生成される。また、区間の長さは要因の内容によって変化する。例えば、“自車両の走行に影響が生じる要因”が車両の前方を走行する他車両(前方車両)である場合には、図7に示すように右側に車線変更して前方車両66を追い越し、その後に左側に車線変更して元の車線に戻るまでの軌道である回避軌道が動的走行軌道67として生成される。尚、前方車両66を追い越さずに前方車両66の所定距離後方を追従して走行(或いは前方車両66と並走)する軌道である追従軌道を動的走行軌道として生成しても良い。更に、複数の候補を動的走行軌道として生成しても良く、その場合には複数の候補の内から後述のS7において最もコストの小さい候補が選択されることとなる。
図7に示す動的走行軌道67の算出方法を例に挙げて説明すると、CPU51は先ずステアリングの旋回を開始して右側の車線へと移動し、且つステアリングの位置が直進方向に戻るのに必要な第1の軌道L1を算出する。尚、第1の軌道L1は車両の現在の車速に基づいて車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s3)を超えないことを条件として、クロソイド曲線や円弧を用いてできる限り円滑で、且つできる限り車線変更に必要な距離が短くなる軌道を算出する。また、前方車両66との間に適切な車間距離N以上を維持することについても条件とする。
次に、右側の車線を制限速度を上限に走行して前方車両66を追い越し、且つ前方車両66との間を適切な車間距離N以上とするまでの第2の軌道L2を算出する。尚、第2の軌道L2は基本的に直線の軌道であり、また軌道の長さは、前方車両66の車速と道路の制限速度に基づいて算出される。
続いて、ステアリングの旋回を開始して左側の車線へと戻り、且つステアリングの位置が直進方向に戻るのに必要な第3の軌道L3を算出する。尚、第3の軌道L3は車両の現在の車速に基づいて車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s3)を超えないことを条件として、クロソイド曲線や円弧を用いてできる限り円滑で、且つできる限り車線変更に必要な距離が短くなる軌道を算出する。また、前方車両66との間に適切な車間距離N以上を維持することについても条件とする。
尚、動的走行軌道は、車外カメラ39やその他のセンサで取得した車両周辺の道路状況に基づいて生成されるので、動的走行軌道が生成される対象となる領域は、少なくとも車外カメラ39やその他のセンサによって車両周辺の道路状況を検出することが可能な範囲(検出範囲)内となる。
次に、右側の車線を制限速度を上限に走行して前方車両66を追い越し、且つ前方車両66との間を適切な車間距離N以上とするまでの第2の軌道L2を算出する。尚、第2の軌道L2は基本的に直線の軌道であり、また軌道の長さは、前方車両66の車速と道路の制限速度に基づいて算出される。
続いて、ステアリングの旋回を開始して左側の車線へと戻り、且つステアリングの位置が直進方向に戻るのに必要な第3の軌道L3を算出する。尚、第3の軌道L3は車両の現在の車速に基づいて車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s3)を超えないことを条件として、クロソイド曲線や円弧を用いてできる限り円滑で、且つできる限り車線変更に必要な距離が短くなる軌道を算出する。また、前方車両66との間に適切な車間距離N以上を維持することについても条件とする。
尚、動的走行軌道は、車外カメラ39やその他のセンサで取得した車両周辺の道路状況に基づいて生成されるので、動的走行軌道が生成される対象となる領域は、少なくとも車外カメラ39やその他のセンサによって車両周辺の道路状況を検出することが可能な範囲(検出範囲)内となる。
続いて、S7においてCPU51は、前記S6で新たに生成された動的走行軌道を、前記S3で生成された静的走行軌道に反映する。具体的には、車両の現在位置から“自車両の走行に影響が生じる要因”を含む区間の終端まで、静的走行軌道と動的走行軌道(動的走行軌道は複数候補あっても良い)の夫々のコストを算出し、該コストが最少となる走行軌道を選択する。結果的に、必要に応じて静的走行軌道の一部が動的走行軌道に置き換わることになる。尚、状況によっては動的走行軌道の置き換えが行われない場合、即ち動的走行軌道の反映が行われても前記S3で生成された静的走行軌道から変化しない場合もある。更に、動的走行軌道と静的走行軌道が同じ軌道である場合には、置き換えが行われても前記S3で生成された静的走行軌道から変化しない場合もある。
次に、S8においてCPU51は、前記S7で動的走行軌道が反映された後の静的走行軌道について、反映された動的走行軌道の内容に基づいて前記S4で生成された車両の速度計画を修正する。尚、動的走行軌道の反映が行われた結果、前記S3で生成された静的走行軌道から変化しない場合には、S8の処理については省略しても良い。
続いて、S9においてCPU51は、前記S3で生成された静的走行軌道(前記S7で動的走行軌道の反映が行われている場合には反映後の軌道)を前記S4で生成された速度計画(前記S8で速度計画の修正が行われている場合には修正後の計画)に従った速度で車両が走行する為の制御量を演算する。具体的には、アクセル、ブレーキ、ギヤ及びステアリングの制御量が夫々演算される。尚、S9及びS10の処理についてはナビゲーション装置1ではなく車両を制御する車両制御ECU40が行うようにしても良い。
その後、S10においてCPU51は、S9において演算された制御量を反映する。具体的には、演算された制御量を、CANを介して車両制御ECU40へと送信する。車両制御ECU40では受信した制御量に基づいてアクセル、ブレーキ、ギヤ及びステアリングの各車両制御が行われる。その結果、前記S3で生成された静的走行軌道(前記S7で動的走行軌道の反映が行われている場合には反映後の軌道)を前記S4で生成された速度計画(前記S8で速度計画の修正が行われている場合には修正後の計画)に従った速度で走行する走行支援制御が可能となる。
次に、S11においてCPU51は、前記S3で静的走行軌道の生成が行われてから車両が一定距離走行したか否かを判定する。例えば一定距離は1kmとする。
そして、前記S3で静的走行軌道の生成が行われてから車両が一定距離走行したと判定された場合(S11:YES)には、S2へと戻る。その後、車両の現在位置から走行予定経路に沿った所定距離以内の区間を対象として、静的走行軌道の生成が再度行われる(S2~S4)。尚、本実施形態では車両が一定距離(例えば1km)走行する度に、車両の現在位置から走行予定経路に沿った所定距離以内の区間を対象として、静的走行軌道の生成が繰り返し行われることとしているが、目的地までの距離が短い場合には走行開始時点において目的地までの静的走行軌道の生成を一度に行うようにしても良い。
一方、前記S3で静的走行軌道の生成が行われてから車両が一定距離走行していないと判定された場合(S11:NO)には、自動運転支援による支援走行を終了するか否かを判定する(S12)。自動運転支援による支援走行を終了する場合としては、目的地に到着した場合以外に、ユーザが車両に設けられた操作パネルを操作したり、ハンドル操作やブレーキ操作などが行われることによって自動運転支援による走行を意図的に解除(オーバーライド)した場合がある。
そして、自動運転支援による支援走行を終了すると判定された場合(S12:YES)には、当該自動運転支援プログラムを終了する。それに対して自動運転支援による支援走行を継続すると判定された場合(S12:NO)には、S5へと戻る。
次に、前記S3において実行される静的走行軌道生成処理のサブ処理について図8に基づき説明する。図8は静的走行軌道生成処理のサブ処理プログラムのフローチャートである。
先ず、S21においてCPU51は、現在位置検出部31により検出した車両の現在位置を取得する。尚、車両の現在位置は、例えば高精度のGPS情報や高精度ロケーション技術を用いて詳細に特定することが望ましい。ここで、高精度ロケーション技術とは、車両に設置されたカメラから取り込んだ白線や路面ペイント情報を画像認識により検出し、更に、検出した白線や路面ペイント情報を例えば高精度地図情報16と照合することにより、走行車線や高精度な車両位置を検出可能にする技術である。更に、車両が複数の車線からなる道路を走行する場合には車両の走行する車線についても特定する。また、車両が駐車場内に位置する場合については駐車場内の具体的な位置(例えば車両が位置する駐車スペースなど)と車両の姿勢(例えば車両の進行方向、駐車スペース内に位置する場合には駐車スペースに対してどのような向きで駐車されているか)についても特定する。
次に、S22においてCPU51は、前記S2で取得した高精度地図情報16に基づいて、特に車両の進行方向前方の静的走行軌道を生成する区間(例えば車両の現在位置から所定距離以内の走行予定経路)を対象として、レーン形状、区画線情報、交差点に関する情報等を取得する。また、道路や車路に設定された制限速度、信号機、横断歩道、踏切、一時停止の道路標識などの車両の走行を規制(より具体的には停止や減速を要求)する存在(規制物)について、規制物の種類と位置を特定する規制情報についても取得する。また、静的走行軌道を生成する区間に駐車場内を含む場合については、駐車場の出入口の位置を特定する情報、駐車場内の駐車スペースの配置を特定する情報、駐車スペースや車路を区画(車路)する区画線に関する情報等が含まれる。尚、車路については車路の形状(即ち駐車場内において車両が走行可能な領域)を特定する情報についても含む。尚、前記S22で取得されるレーン形状と区画線情報には、特に車両が走行対象として選択可能な車線が道路に対してどのように配置されているかを特定する情報を含み、更に車線数、車線を区画する区画線の種類と配置、道路(車線)の曲率、車線幅、車線数の増減がある場合にはどの位置でどのように増減するか、車線毎の進行方向の通行区分や道路の繋がり(具体的には、交差点の通過前の道路に含まれる車線と交差点の通過後の道路に含まれる車線との対応関係)を特定する情報等を含む。
続いて、S23においてCPU51は、前記S22で取得したレーン形状と区画線情報とに基づいて、車両の進行方向前方の静的走行軌道を生成する区間を対象としてレーンネットワークの構築を行う。ここで、レーンネットワークは車両が選択し得る車線移動を示したネットワークである。
ここで、前記S23におけるレーンネットワークを構築する例として、例えば図9に示す走行予定経路を車両が走行する場合を例に挙げて説明する。図9に示す走行予定経路は、車両の現在位置から直進した後に次の交差点71で右折し、更に次の交差点72でも右折し、次の交差点73で左折する経路とする。図9に示す走行予定経路では、例えば交差点71で右折する場合に右側の車線に進入することも可能であるし、左側の車線に進入することも可能である。但し、次の交差点72で右折する必要があるので、交差点72の進入時点では最も右側の車線に車線移動する必要がある。また、交差点72で右折する場合においても右側の車線に進入することも可能であるし、左側の車線に進入することも可能である。但し、次の交差点73で左折する必要があるので、交差点73の進入時点では最も左側の車線に車線移動する必要がある。このような車線移動が可能な区間を対象として構築したレーンネットワークを図10に示す。
図10に示すようにレーンネットワークは、車両の進行方向前方の静的走行軌道を生成する区間を複数の区画(グループ)に区分する。具体的には、交差点の進入位置、交差点の退出位置、車線が増減する位置を境界として区分する。そして、区分された各区画の境界に位置する各車線に対してノード点(以下、レーンノードという)75が設定されている。更に、レーンノード75間をつなぐリンク(以下、レーンリンクという)76が設定されている。尚、レーンリンク76は、車線を跨がない場合については基本的には車線の中央に対して設定される。
また、上記レーンネットワークは、特に交差点でのレーンノードとレーンリンクとの接続によって、交差点の通過前の道路に含まれる車線と交差点の通過後の道路に含まれる車線との対応関係、即ち交差点の通過前の車線に対して交差点の通過後に移動可能な車線を特定する情報を含んでいる。具体的には交差点の通過前の道路に設定されたレーンノードと、交差点の通過後の道路に設定されたレーンノードとの内、レーンリンクによって接続されたレーンノードに対応する車線間において車両が移動可能なことを示している。このようなレーンネットワークを生成する為に高精度地図情報16には、交差点に接続する各道路について、交差点へと進入する道路と退出する道路の組み合わせごとに、車線の対応関係を示すレーンフラグが設定されて格納されている。CPU51は前記S23においてレーンネットワークを構築する際に、レーンフラグを参照して交差点におけるレーンノードとレーンリンクとの接続を形成する。
尚、図10では道路を対象として構築されたレーンネットワークの例を示しているが、静的走行軌道を生成する区間に駐車場内が含まれていれば駐車場内を対象としても同様のネットワーク(以下、駐車場内ネットワークという)を構築する。駐車場内ネットワークは、駐車場ノードと駐車場リンクからなり、駐車場ノードは駐車場の出入口と、車両が通行可能な通路が交差する交差点及び車両が通行可能な通路の曲がり角(即ち通路同士の接続点)、通路の終点に夫々設定される。一方で駐車場リンクは駐車場ノード間の車両が通行可能な通路に対して設定される。
尚、前記S1において複数の走行予定経路の候補が取得されている場合には、複数の走行予定経路に対して上記レーンネットワークや駐車場内ネットワークの構築が行われる。
次に、S24においてCPU51は、前記S23で構築されたレーンネットワーク(静的走行軌道を生成する区間に駐車場内が含まれていれば駐車場内ネットワークについても含む、以下同じ)に対して、レーンネットワークの始点に位置するレーンノードに対して車両が移動を開始する開始レーン(出発ノード)を設定し、レーンネットワークの終点に位置するレーンノードに対して車両が移動する目標となる目標レーン(目的ノード)を設定する。尚、レーンネットワークの始点が片側複数車線の道路である場合には、車両の現在位置する車線に対応するレーンノードが開始レーンとなる。一方、レーンネットワークの終点が片側複数車線の道路である場合には、最も左側の車線(左側通行の場合)に対応するレーンノードが目標レーンとなる。また、レーンネットワークの始点や終点が駐車場内である場合には、駐車場内ネットワークの車両が現在位置する駐車スペースや通路に開始レーンが設定され、車両が駐車する駐車スペースや駐車スペースへと進入可能な通路に目標レーンが設定される。
その後、S25においてCPU51は、前記S23で構築されたレーンネットワークを参照し、開始レーンから目標レーンまでを連続して繋ぐルートの内、レーンコストの最も小さいルート(以下、推奨ルートという)を導出する。例えばダイクストラ法を用いて目標レーン側からルートの探索を行う。但し、開始レーンから目標レーンまでを連続して繋ぐルートを探索できるのであればダイクストラ法以外の探索手段を用いても良い。導出された推奨ルートは、車両が移動する際に推奨される車両の車線移動態様(走行が推奨される車線や車線移動を行う推奨位置を特定した情報)となる。
また、上記ルートの探索に用いられるレーンコストは、レーンリンク76毎に付与されている。各レーンリンク76に付与されるレーンコストは、各レーンリンク76の長さ或いは移動に係る所要時間を基準値とする。特に本実施形態ではレーンリンクの長さ(m単位)をレーンコストの基準値とする。また、車線変更を伴うレーンリンクについては車線変更コスト(例えば50)を上記基準値に加算する。尚、車線変更コストについては車線変更の回数や車線変更の位置に応じて値を変えても良い。例えば交差点に近い位置で行われる車線変更や2車線分の車線変更が行われる場合については加算される車線変更コストの値をより高くすることが可能である。
尚、前記S1において複数の走行予定経路の候補が取得されている場合には、複数の走行予定経路の内からレーンコストの最も小さい推奨ルートを導出する。導出された推奨ルートによって走行予定経路も一に決定されることとなる。
続いて、S26においてCPU51は、車両が走行する走行予定経路を対象として、サーバ装置4から走行予定経路にある障害物に関する障害物情報を取得する。尚、障害物とは道路或いは駐車場などの施設内を走行する車両の走行を妨げる要因となる物であり、例えば路上に駐停車された車両、道路の工事現場に設置される看板や柵、路面の凹凸、電柱やブロックなどの構造物等が該当する。また、障害物情報は、具体的には障害物を検出した日時を特定する情報と、障害物の種類と、障害物の位置を特定する情報とを含み、特に障害物の位置については障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲について特定される。そして、上記障害物情報は、全国を走行する各車両から収集されるプローブ情報に基づいて予めサーバ装置4により管理され、サーバ装置4が有する障害物情報DB15に格納されている(図3)。従って、前記S26では自車両の車外カメラ39やその他のセンサによって車両周辺の道路状況を検出することが可能な範囲(検出範囲)外にある障害物の情報についても取得可能となる。
一方で前記S26においてCPU51は、自車両の車外カメラ39やその他のセンサによって車両周辺の道路状況を検出することによって特定された検出範囲内にある障害物の情報(即ち、自車両によって検出された障害物に関する情報)についても取得するようにしても良い。
続いて、S27においてCPU51は、後述の旋回区間の走行軌道生成処理(図11)を行う。旋回区間の走行軌道算出処理は、車両の進行方向前方の静的走行軌道を生成する対象となる区間の走行予定経路の内、特に走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を対象として、前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成する処理である。ここで、旋回区間としては、例えば道路が所定の曲率で円弧状に曲がる区間(道路の曲率が変化する形状も含む)に加えて、直角などの所定の角度で屈曲する区間、車両が右左折する対象となる交差点(分岐点)の区間を含む。更に、公道上だけではなく、駐車場等の施設内において車両の旋回を伴って走行する区間、駐車スペースへの進入或いは退出する為に旋回を行う区間、或いは公道から施設内に進入又は施設内から公道に進入する為に旋回して走行する区間等も含まれる。但し、走行車線を変更する為の車線変更については本実施形態では上記旋回の対象から除くこととし、車線変更を行う区間については後述のS28で走行軌道を生成することとする。尚、走行予定経路に複数の旋回区間を含む場合については複数の旋回区間毎に推奨される走行軌道を生成する。また、特に旋回区間内に前記S26で取得された障害物情報によって特定される障害物がある場合についてはその障害物を回避する軌道を描く走行軌道が生成される。
その後、S28においてCPU51は、上記旋回区間以外について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成する。例えば車線変更を伴う区間の走行軌道については、できる限り車線変更が連続せず、且つ交差点から離れた位置で行うように車線変更の位置を設定する。また、車線変更をする際の走行軌道を生成する場合には、車両に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s3)を超えないことを条件として、クロソイド曲線を用いてできる限り円滑に結ぶ軌道を算出する。上記処理を行うことによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道が生成される。尚、旋回区間でもなく車線変更を行う区画でもない区画については、車線の中央を通過する軌道を車両の走行が推奨される走行軌道とする。また、特に旋回区間外に前記S26で取得された障害物情報によって特定される障害物がある場合についてはその障害物を回避する軌道を描く走行軌道が生成される。
S29においてCPU51は、前記S27及び前記S28で算出された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される。前記S29で生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。その後S4へと移行し、生成された静的走行軌道に基づく各種運転支援が行われる。
次に、前記S27において実行される旋回区間の走行軌道算出処理のサブ処理について図11に基づき説明する。図11は旋回区間の走行軌道算出処理のサブ処理プログラムのフローチャートである。特に以下の実施例ではカーブ形状(道路が円弧状に曲がる場合に加えて、直角などの所定の角度で屈曲する場合も含む)の道路を車両が旋回を伴って走行する旋回区間を対象として静的走行軌道を生成する例を挙げて説明する。
先ず、S31においてCPU51は、前記S2で取得した高精度地図情報16に基づいて、車両の進行方向前方の静的走行軌道を生成する区間を対象に車両が走行する走行領域を特定する情報を取得する。具体的には、前記S25で選択された車線移動態様に従って走行した場合に車両が走行する車線の左右の区画線(一車線の道路や車線の区分がない道路については道路端)の位置を特定する情報や道路の曲率が取得される。
次に、S32においてCPU51は、前記S31で取得した走行領域の情報や道路の曲率に基づいて、車両の進行方向前方の静的走行軌道を生成する区間を対象に車両が走行する車線(走行領域)の中心線を算出する。車線の区分がない道路については道路の中心線となる。例えば走行領域の左右の区画線或いは道路端の位置からその中心にある中心線を算出することが可能である。或いは道路の曲率から中心線を算出することも可能である。但し、中心線については区画線や道路の曲率から算出するのではなく予め車線毎に算出して高精度地図DB13に格納しておくことも可能である。
続いて、S33においてCPU51は、前記S32で算出された中心線に基づいて、車両の進行方向前方の静的走行軌道を生成する区間を対象に車両が走行する車線(走行領域)の移動平均線を算出する。車線の区分がない道路については道路の移動平均線となる。尚、移動平均線は、車線の中心線に沿って配置された連続する所定数の座標点の平均地点を結んだ線である。より具体的には中心線に沿って所定間隔で設定した座標点毎に、その前後2つの座標点を含めた5つの座標点の平均地点(緯度経度をそれぞれ平均した地点)を算出し、その平均地点を結んだ線を移動平均線とする。但し、移動平均線については中心線から算出するのではなく予め車線毎に算出して高精度地図DB13に格納しておくことも可能である。
更に、S34においてCPU51は、前記S32で算出された中心線と前記S33で算出された移動平均線とを比較して、中心線と移動平均線とが一致しない範囲についてカーブが存在する範囲として検出する。ここで、図12は前記S31及びS32で算出される中心線81と移動平均線82の例を示した図である。前述のように移動平均線82は中心線81に沿って所定間隔で設定した座標点毎に、その前後2つの座標点を含めた5つの座標点の平均地点(緯度経度をそれぞれ平均した地点)を算出し、その平均地点を結んだ線である。従って、中心線81が直線状に配置された区間では中心線81と移動平均線82は一致するが、図12に示すように道路が円弧状に曲がる箇所や所定の角度で屈曲する箇所において、中心線81と移動平均線82とが一致しない範囲が生じる。従って、前記S34では中心線81と移動平均線82とが一致しない範囲をカーブが存在する範囲として検出する。
尚、前記S34でCPU51は、中心線81と移動平均線82を比較することによって車両の進行方向前方の静的走行軌道を生成する区間にあるカーブを検出しているが、地図情報に基づいてカーブを検出することも可能である。その場合には、地図情報に予めカーブの位置を特定する情報(例えばカーブに該当するリンクを特定する情報やカーブの始点や終点の座標)を含めるようにする。或いは道路の曲率が閾値以上となる範囲をカーブが存在する範囲として特定しても良い。
続いて、S35においてCPU51は、前記S34の検出結果に基づいて車両の進行方向前方の静的走行軌道を生成する区間に、少なくとも一以上のカーブが存在するか否か判定する。
そして、車両の進行方向前方の静的走行軌道を生成する区間に、少なくとも一以上のカーブが存在すると判定された場合(S35:YES)にはS36へと移行する。それに対して、車両の進行方向前方の静的走行軌道を生成する区間に、カーブが存在しないと判定された場合(S35:NO)にはS28へと移行し、前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成する。
S36においてCPU51は、上述のように検出されたカーブを含む旋回区間(より具体的には旋回区間の始点と終点)を取得する。旋回区間の始点及び終点の位置については前記S25で選択された車線移動態様によって適宜変化させても良いし、車線移動態様に関わらず固定された条件で設定しても良い。例えば、中心線81と移動平均線82が一致しなくなる区間の始点の所定距離(例えば20m)手前を旋回区間の始点とし、中心線81と移動平均線82が一致しなくなる区間の終点に対して所定距離だけ進行方向側に進んだ地点を旋回区間の終点とすることが可能である。また、車両の現在位置がカーブの手前である場合には車両の現在位置が旋回区間の始点となる場合もある。また、予め地図情報にカーブとともに旋回区間を特定する情報(例えば旋回区間に含まれるリンクを特定する情報や旋回区間の始点や終点の座標)についても含めるようにし、地図情報に基づいて旋回区間を設定しても良い。
S37以下では、上述のように検出されたカーブを含む旋回区間を対象として以下の処理により旋回区間を走行する際に推奨される走行軌道を生成する。尚、カーブを複数検出した場合には、検出した全てのカーブに対応する各旋回区間を対象として以下の処理を実行し、走行軌道を生成する。
先ず、S37においてCPU51は、後述の基準走行軌道生成処理(図14)を行う。基準走行軌道生成処理は、旋回区間を対象として旋回区間を走行する際に推奨される走行軌道を生成する処理である。特に基準走行軌道生成処理では、旋回区間内に前記S26で取得された障害物情報によって特定される障害物がある場合であっても、障害物については考慮せずに旋回区間を走行する際に推奨される走行軌道を生成する。以下、前記S37で生成された障害物を考慮しない走行軌道を基準走行軌道という。
その後、S38においてCPU51は、前記S37で生成された基準走行軌道が前記S26で取得された障害物情報によって特定される障害物と重複するか否か判定する。ここで、図3に示すように障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいて基準走行軌道と障害物とが重複するか否かを判定可能となっている。また、前記S38において“基準走行軌道と障害物とが重複する”とは図13の左図に示すように障害物が位置する範囲78と基準走行軌道79とが重なる場合に加えて、基準走行軌道79に沿って車両が走行した場合に障害物が位置する範囲78と車両とが重なる場合、即ち図13の右図に示すように障害物が位置する範囲78と基準走行軌道79との間の距離Xが所定距離(例えば車幅の1/2+α)未満となる場合も“基準走行軌道と障害物とが重複する”とみなす。
そして、前記S37で生成された基準走行軌道が前記S26で取得された障害物情報によって特定される障害物と重複しないと判定された場合(S38:NO)には、前記S37で生成された基準走行軌道について旋回区間を走行する際に推奨される走行軌道として選択する(S39)。尚、旋回区間内において前記S26で取得された障害物情報によって特定される障害物が存在しない場合についても、基準走行軌道が障害物と重複しないと判定される。その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。
一方、前記S37で生成された基準走行軌道が前記S26で取得された障害物情報によって特定される障害物と重複すると判定された場合(S38:YES)には、基準走行軌道では旋回区間において障害物を回避した走行ができないとみなし、障害物を回避する為の新たな走行軌道を生成する為にS40へと移行する。
S40においてCPU51は、後述の第1回避走行軌道生成処理(図23)を行う。第1回避走行軌道生成処理は、障害物を考慮して旋回区間を走行する際に推奨される走行軌道を生成する処理である。以下、前記S40で生成された障害物を考慮した走行軌道を第1回避走行軌道という。
その後、S41においてCPU51は、前記S40の第1回避走行軌道生成処理において、前記S26で取得された障害物情報によって特定される障害物と重複しない第1回避走行軌道を少なくとも一以上生成することができたか否か判定する。尚、前記S41において“第1回避走行軌道と障害物とが重複する”とは前記S38と同様に障害物が位置する範囲と第1回避走行軌道とが重なる場合に加えて、第1回避走行軌道に沿って車両が走行した場合に障害物が位置する範囲と車両とが重なる場合、即ち障害物が位置する範囲と第1回避走行軌道との間の距離Xが所定距離(例えば車幅の1/2+α)未満となる場合も“第1回避走行軌道と障害物とが重複する”とみなす。
そして、前記S40の第1回避走行軌道生成処理において、前記S26で取得された障害物情報によって特定される障害物と重複しない第1回避走行軌道を少なくとも一以上生成することができたと判定された場合(S41:YES)には、前記S40で生成された第1回避走行軌道の内、走行軌道としての適性を示すコストが最も小さい(適性が最も高い)走行軌道について旋回区間を走行する際に推奨される走行軌道として選択する(S42)。尚、コスト算出の詳細については後述する。その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。
一方、前記S40の第1回避走行軌道生成処理において、前記S26で取得された障害物情報によって特定される障害物と重複しない第1回避走行軌道を生成できなかったと判定された場合(S41:NO)には、第1回避走行軌道では旋回区間において障害物を回避した走行ができないとみなし、障害物を回避する為の新たな走行軌道を生成する為にS43へと移行する。
S43においてCPU51は、前記S26で取得された障害物情報によって特定される旋回区間に存在する障害物が、前記S32で算出された車両が走行する車線(走行領域)の中心線と重複するか否かを判定する。ここで、図3に示すように障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいて中心線と障害物とが重複するか否かを判定可能となっている。
そして、旋回区間に存在する障害物が車両の走行する車線(走行領域)の中心線と重複すると判定された場合(S43:YES)には、S44へと移行する。それに対して、旋回区間に存在する障害物が車両の走行する車線(走行領域)の中心線と重複しないと判定された場合(S43:NO)には、S45へと移行する。
S44においてCPU51は、後述の第2回避走行軌道生成処理(図25)を行う。一方、S45においてCPU51は、後述の第3回避走行軌道生成処理(図33)を行う。尚、第2回避走行軌道生成処理及び第3回避走行軌道生成処理は、前記S40の第1回避走行軌道生成処理と同じく障害物を考慮して旋回区間を走行する際に推奨される走行軌道を生成する処理である。但し、第2回避走行軌道生成処理及び第3回避走行軌道生成処理では走行軌道を算出する際にベースとなるガイド線を障害物と重複しないように設定し、ガイド線を用いて障害物を回避する走行軌道の算出を行う点で異なる。また、第2回避走行軌道生成処理はガイド線を車両が走行する車線の中心線に基づいて設定する一方で、第3回避走行軌道生成処理はガイド線を前記S37で算出された基準走行軌道に基づいて設定する点で異なる。以下、前記S44で生成された障害物を考慮した走行軌道を第2回避走行軌道といい、前記S45で生成された障害物を考慮した走行軌道を第3回避走行軌道という。
その後、前記S44で生成された第2回避走行軌道又は前記S45で生成された第3回避走行軌道の内、走行軌道としての適性を示すコストが最も小さい(適性が最も高い)走行軌道について旋回区間を走行する際に推奨される走行軌道として選択する(S42)。尚、コスト算出の詳細については後述する。その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。
次に、前記S37において実行される基準走行軌道生成処理のサブ処理について図14に基づき説明する。図14は基準走行軌道生成処理のサブ処理プログラムのフローチャートである。
先ず、S51においてCPU51は、旋回区間の始点(対象地点)に位置する際に推奨される車両の方位と旋回区間の終点(対象地点)に位置する際に推奨される車両の方位とを夫々設定する。尚、車両の方位とは、車両の車体の向き(角度)と車両の進行方向(タイヤの向き、ステアリング角度)の両方を含むこととする。但し、いずれか一方のみを設定しても良い。ここで、図15に示すように旋回区間の始点83に位置する際に推奨される車両の方位は、基本的に車両の車体の向き(角度)が旋回区間の始点83における道路の進行方向と同方向(道路と並行)で、且つ車両の進行方向が直進方向(ステアリング角度が0°(中立状態))に設定する。同じく、旋回区間の終点84に位置する際に推奨される車両の方位は、基本的に車両の車体の向き(角度)が旋回区間の終点84における道路の進行方向と同方向(道路と並行)で、且つ車両の進行方向が直進方向(ステアリング角度が0°(中立状態))に設定する。但し、旋回区間の前後で車線変更が要求される場合や他の旋回区間が隣接する場合など(例えばSカーブ)については上記の限りではなく、車両の車体の向き(角度)を道路の進行方向に対して傾斜して設定しても良いし、車両の進行方向(タイヤの向き、ステアリング角度)についても右或いは左に旋回する方向に設定しても良い。即ち、前記S51で設定される車両の方位は固定とする必要はなく、前記S25で選択された車線移動態様を考慮して、走行予定経路を走行した場合の旋回区間の始点に位置する際に推奨される車両の方位と旋回区間の終点に位置する際に推奨される車両の方位とを夫々設定するのが望ましい。
次に、S52においてCPU51は、前記S36で取得された旋回区間の始点及び終点の位置と、前記S51で設定された旋回区間の始点に位置する際に推奨される車両の方位と旋回区間の終点に位置する際に推奨される車両の方位とに基づいて、旋回区間の始点における車両の位置と方位を特定した開始ベクトルと、旋回区間の終点における車両の位置と方位を特定した終了ベクトルと、をそれぞれ取得する。
ここで、開始ベクトル及び終了ベクトルの道路の進行方向に沿った位置(前後方向の位置)については上述した旋回区間の始点及び終点と対応する位置とする。
一方、開始ベクトル及び終了ベクトルの道路幅方向の位置については基本的には車両が走行する車線の中央(一車線の道路や車線の区分がない道路については道路の中央にも相当)とする。但し、旋回区間の前後で車線変更が要求される場合や他の旋回区間が隣接する場合など(例えばSカーブ)についてはこの限りでなく、開始ベクトル及び終了ベクトルの道路幅方向の位置を車線の中央よりも左右寄りに設定しても良い。
更に、開始ベクトル及び終了ベクトルの方向については前記S51で設定された車両の方位と対応する方向とする。
一方、開始ベクトル及び終了ベクトルの道路幅方向の位置については基本的には車両が走行する車線の中央(一車線の道路や車線の区分がない道路については道路の中央にも相当)とする。但し、旋回区間の前後で車線変更が要求される場合や他の旋回区間が隣接する場合など(例えばSカーブ)についてはこの限りでなく、開始ベクトル及び終了ベクトルの道路幅方向の位置を車線の中央よりも左右寄りに設定しても良い。
更に、開始ベクトル及び終了ベクトルの方向については前記S51で設定された車両の方位と対応する方向とする。
図16は直角に屈曲するカーブを含む旋回区間に対して設定される開始ベクトル83と終了ベクトル84の例を示した図である。図16に示す例では中心線81と移動平均線82が一致しなくなる区間の始点の所定距離手前の車線中央に開始ベクトル83が設定され、中心線81と移動平均線82が一致しなくなる区間の終点に対して所定距離だけ進行方向側に進んだ地点の車線中央に終了ベクトル84が設定される。尚、開始ベクトル83及び終了ベクトル84の方向についてはいずれも道路の進行方向(道路長さ方向)に平行な方向とする。
その後、S53においてCPU51は、前記S33で算出された移動平均線とカーブの内側の区画線との間にクリッピングポイント(通過点)85を設定する。ここで、クリッピングポイント85は中心線81に沿って配置された各座標点とカーブの内側の区画線との間、より適切には移動平均線とカーブの内側の区画線との間で適宜設定可能であるが、例えば図16に示すように移動平均線82へのカーブの内側の区画線86の最近接点をクリッピングポイント85とする。尚、図12に示すように基本的に中心線81よりも移動平均線82の方がカーブの内側の区画線に近い位置となるので、移動平均線82とカーブの内側の区画線との間にクリッピングポイント85を設定すれば、そのクリッピングポイント85は中心線81に沿って配置された各座標点とカーブの内側の区画線の間に位置することとなる。但し、図16に示す例は車両の車幅を0とみなした場合であって、車幅を考慮するのであれば移動平均線82へのカーブの内側の区画線86の最近接点より車両の車幅の1/2だけ中心線側の位置、或いは誤差などを考慮して車両の車幅の1/2+α(例えば30cm)だけ中心線側の位置にクリッピングポイント85を設定するのが望ましい。
続いて、S54においてCPU51は、走行軌道が生成される対象となる旋回区間の始点に前記S52で取得された開始ベクトル以外に新たな開始ベクトルの候補を生成する。更に、旋回区間の終点に前記S52で取得された終了ベクトル以外に新たな終了ベクトルの候補を生成する。例えば、図17に示す例では、当初の開始ベクトル83よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル91を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル92を生成する。同様にして、当初の終了ベクトル84よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル93を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル94を生成する。尚、図17に示す例では新たな開始ベクトル及び終了ベクトルの候補を夫々2つ生成しているが、1つのみ或いは3つ以上生成しても良い。また、カーブの内側方向に生成することも可能である。新たな開始ベクトル及び終了ベクトルの候補を多く生成すれば、より適切な走行軌道を生成できる可能性は高くなるが、一方で走行軌道の候補が多くなるので走行軌道の算出に係る処理負荷は大きくなる。
以降のS55~S61の処理は、前記S52で取得され更に前記S54で新たに生成された開始ベクトルと終了ベクトルの組み合わせ毎に実行する。例えば図17に示す例では開始ベクトルが3つ、終了ベクトルが3つ存在するので、3×3の全9通りの組み合わせに対してS55~S61の処理を実行する。そして、全ての開始ベクトルと終了ベクトルの組み合わせに対してS55~S61の処理を実行した後にS62へと移行する。
先ずS55においてCPU51は、処理対象となる開始ベクトル及び終了ベクトルを各ベクトルの進行方向に通過する(即ち円弧の接線方向が各ベクトルの進行方向と一致する)最大曲率半径の円弧を算出する。
その後、S56においてCPU51は、前記S55で算出された円弧が開始ベクトルから終了ベクトルまでの間において車両が走行する車線内(前記S31で取得された走行領域内)に含まれるか否かを判定する。
そして、前記S55で算出された円弧が開始ベクトルから終了ベクトルまでの間において車両が走行する車線内(前記S31で取得された走行領域内)に含まれると判定された場合(S56:YES)には、S57へと移行する。一方、前記S55で算出された円弧が開始ベクトルから終了ベクトルまでの間において車両が走行する車線内(前記S31で取得された走行領域内)に含まれないと判定された場合(S56:NO)には、S58へと移行する。
S57においてCPU51は、前記S55で算出された開始ベクトルから終了ベクトルまでの間の円弧について第1の走行軌道として生成する。例えば図18に示す例は前記S55で算出された円弧95が開始ベクトル83から終了ベクトル84までの間において車両が走行する車線内(前記S31で取得された走行領域内)に含まれる場合の例であり、円弧95が第1の走行軌道として生成される。その後、S59へと移行する。
一方、S58においてCPU51は、前記S55で算出された円弧は走行領域をはみ出す軌道となり採用できないことから、前記S53で設定されたクリッピングポイント85を通過する新たな円弧を生成し、更に処理対象の開始ベクトルと終了ベクトルに夫々道路の進行方向に沿って直進して新たな円弧と接続する走行軌道を、第1の走行軌道として生成する。前記S58で生成される第1の走行軌道は開始ベクトル及び終了ベクトルを各ベクトルの進行方向に通過する軌道となる。例えば図19に示す例は前記S55で算出された円弧95が開始ベクトル83から終了ベクトル84までの間において車両が走行する車線内(前記S31で取得された走行領域内)に含まれない場合の例であり、クリッピングポイント85を通過する軌道96が第1の走行軌道として生成される。尚、軌道96の円弧については曲率をできる限り小さくすることを条件とし、且つ軌道96は旋回方向の切り替えがない(複数の旋回動作を含まない)ことを条件とする。
その後、S59においてCPU51は、前記S52で取得された開始ベクトルから前記S57又はS58で生成された第1の走行軌道へと移動する為の第2の走行軌道を生成する。尚、図18や図19に示すように処理対象となる開始ベクトルが前記S52で取得された開始ベクトルである場合については第2の走行軌道は第1の走行軌道の一部となるのでS59の処理は不要である。一方で、図20に示すように処理対象となる開始ベクトルが前記S52で取得された開始ベクトルでない(S54で新たに追加された開始ベクトル)場合については第2の走行軌道が生成される。例えば図20に示す例では第1の走行軌道96は車線中央よりも左寄りに設定された新たな開始ベクトル92を処理対象として生成されており、本来の開始ベクトル83から第1の走行軌道96まで移動する新たな第2の走行軌道97が生成される。前記S45で生成される第2の走行軌道97は開始ベクトル83を開始ベクトル83の進行方向に通過する軌道となる。
続いて、S60においてCPU51は、前記S57又はS58で生成された第1の走行軌道から前記S52で取得された終了ベクトルへと移動する為の第3の走行軌道を生成する。尚、図18や図19に示すように処理対象となる終了ベクトルが前記S52で取得された終了ベクトルである場合については第3の走行軌道は第1の走行軌道の一部となるのでS60の処理は不要である。一方で、図20に示すように処理対象となる終了ベクトルが前記S52で取得された終了ベクトルでない(S54で新たに追加された終了ベクトル)場合については第3の走行軌道が生成される。例えば図20に示す例では第1の走行軌道96は車線中央よりも左寄りに設定された新たな終了ベクトル94を処理対象として生成されており、第1の走行軌道96から本来の終了ベクトル84まで移動する新たな第3の走行軌道98が生成される。前記S46で生成される第3の走行軌道98は終了ベクトル84を終了ベクトル84の進行方向に通過する軌道となる。
ここで、上記第2の走行軌道や第3の走行軌道のように車両が車線内を右側又は左側に移動する場合の推奨される車両の走行軌道は、曲率が連続して変化するクロソイド曲線を含む。より具体的には形状の異なる複数のクロソイド曲線を接続した軌道となる。図21は例えば車線内を右側に移動する場合の推奨される車両の走行軌道を示した図である(尚、左側に移動する場合は左右対称の走行軌道となる)。図21に示すように車線内を右側に移動する場合の推奨される車両の走行軌道は、移動の開始点P1からステアリングを右方向に徐々に旋回させながら(即ち曲率が徐々に大きく変化させながら)第1の中継地点P2まで進む第1のクロソイド曲線101と、第1の中継地点P2からステアリングを徐々に直進方向に戻しながら(即ち曲率が徐々に小さく変化させながら)中間点P3まで進む第2のクロソイド曲線102と、中間点P3から今度はステアリングを左方向に徐々に旋回させながら(即ち曲率が徐々に大きく変化させながら)第2の中継地点P4まで進む第3のクロソイド曲線103と、その後に第2の中継地点P4からステアリングを徐々に直進方向に戻しながら(即ち曲率が徐々に小さく変化させながら)移動の終了点P5まで進む第4のクロソイド曲線104とからなる。尚、クロソイド曲線101~104による横方向の移動幅については第2の走行軌道であればP5の時点で第1の走行軌道と重複する距離、第3の走行軌道であればP5の時点で当初の終了ベクトル84と重複する距離とする。そして、CPU51は各クロソイド曲線101~104について車線内移動を行う際に生じる加速度(横G)が車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s3)を超えないことを条件として、クロソイド曲線を用いてできる限り円滑で、且つできる限り車線内移動に必要な距離が短くした軌道となるように算出する。そして、算出された各クロソイド曲線101~104を接続することにより上記第2の走行軌道や第3の走行軌道が算出される。
その後、S61においてCPU51は、前記S57又はS58で生成された第1の走行軌道と、前記S59で生成された第2の走行軌道(第2の走行軌道が生成された場合のみ)と、前記S60で生成された第3の走行軌道(第3の走行軌道が生成された場合のみ)とを連結して一の走行軌道とする。前記S61で生成された走行軌道は、処理対象の開始ベクトルと終了ベクトルの組み合わせに対して生成された“旋回区間を走行する際に推奨される走行軌道の候補”である。特に、対象地点である旋回区間の始点83に到達する際の車両の方位が前記S51で設定された方位となり、対象地点である旋回区間の終点84に到達する際の車両の方位が前記S51で設定された方位となる走行軌道となる。例えば、前記S61で生成された走行軌道に沿って車両が走行した場合に、旋回区間の始点83及び終点84における車両の車体の向き(角度)が道路の進行方向と同方向(道路と並行)で、且つ車両の進行方向が直進方向(ステアリング角度が0°(中立状態))となる。また、前記S61で生成される走行軌道は、直線軌道、円弧軌道、及びクロソイド曲線軌道の少なくとも2以上の軌道を組み合わせた軌道となっており、各軌道の距離及び方位変化量(曲率がどのように変化するか)について少なくとも特定されている。
尚、前記S57又はS58で生成された第1の走行軌道のみからなる走行軌道、或いは第2の走行軌道及び第3の走行軌道を含んでいても円弧と直線軌道が直接連結されている場合では、円弧軌道とその前後にある直進軌道との間にクロソイド曲線を挟まないので直進軌道と円弧軌道の各軌道の接続点の前後で曲率が一致しない(走行軌道に沿って車両が走行する為には各軌道の接続点で一旦停車してハンドル操作を行う必要がある)問題がある。そこで、以下のように円弧軌道と直進軌道の間にクロソイド曲線を挟むように修正するのが望ましい。但し、駐車スペースへの進入(入庫)或いは退出(出庫)する為に旋回を行う旋回区間、或いは公道から施設内に進入又は施設内から公道に進入する為に旋回して走行する旋回区間などの、途中で停車してハンドル操作を行うことが問題ない旋回区間については必ずしも修正する必要はない。
先ず、図22に示すように前記S61で生成された走行軌道の候補に含まれる円弧軌道110の曲率半径Rを必要に応じて修正する。例えば所定割合(例えば80%)だけ小さい曲率半径に修正する。
続いて、旋回区間の始点の開始ベクトル83の方向に進む軌道から円弧軌道110に円弧軌道110と同じ曲率で接続するように描く第1クロソイド曲線111と、円弧軌道110に円弧軌道110と同じ曲率で接続するとともに旋回区間の終点の終了ベクトル84の方向に進む軌道となるように描く第2クロソイド曲線112と、を夫々算出する。各クロソイド曲線の長さLcやクロソイド定数Aについては適宜設定可能であるが例えばLc=9.4m、A=6.85とする。尚、クロソイド曲線とは、距離に対して曲率を一定割合で変化(例えば車速が固定であれば一定の角速度でステアリング角を変化)させた場合に描く曲線であり、クロソイド曲線の算出は例えばシンプソン法或いは近似式を用いてフレネル積分を計算すること、或いは複素平面に置き換えることで算出が可能となる。クロソイド曲線の算出方法については既に公知であるので詳細は省略する。
続いて、第1クロソイド曲線111と円弧軌道110と第2クロソイド曲線112を連結し、図22に示すように連結した軌道(以下、連結軌道という)に接続する直進軌道113、114を算出する。例えば直進軌道113は旋回区間の始点(開始ベクトル83)から連結軌道の始点までを繋ぐ直線の軌道であり、直進軌道114は連結軌道の終点から旋回区間の終点(終了ベクトル84)までを繋ぐ直線の軌道である。そして、算出された直進軌道113、連結軌道、直進軌道114を同じ曲率で接続して連結することで最終的な走行軌道候補115が生成される。走行軌道候補115は走行軌道を走行する車両の走行位置及び方向が連続する(即ち走行軌道が途切れることなく連続した線となり途中で屈曲しない)。更に、図22のグラフに示すように走行する車両の方位変化(曲率)についても連続しており、具体的には直進軌道113と第1クロソイド曲線111、第1クロソイド曲線111と円弧軌道110、円弧軌道110と第2クロソイド曲線112、第2クロソイド曲線112と直進軌道114の各軌道の接続点の前後の曲率が一致した滑らかな軌道となる。尚、接続点の前後の曲率(方位変化)については完全に一致させなくとも所定範囲内であることを条件としても良い。その場合であっても、走行軌道候補115は方位変化が所定範囲内で連続する滑らかな走行軌道となる。
尚、図20に示すような第1の走行軌道96と第2の走行軌道97と第3の走行軌道98とを連結した走行軌道候補について、各走行軌道の接続点では前後の曲率が一致し、前後にある直線軌道との接続点の前後でも曲率が一致するので、上記のような修正を行わなくとも方位変化が所定範囲内で連続する滑らかな走行軌道となる。
続いて、旋回区間の始点の開始ベクトル83の方向に進む軌道から円弧軌道110に円弧軌道110と同じ曲率で接続するように描く第1クロソイド曲線111と、円弧軌道110に円弧軌道110と同じ曲率で接続するとともに旋回区間の終点の終了ベクトル84の方向に進む軌道となるように描く第2クロソイド曲線112と、を夫々算出する。各クロソイド曲線の長さLcやクロソイド定数Aについては適宜設定可能であるが例えばLc=9.4m、A=6.85とする。尚、クロソイド曲線とは、距離に対して曲率を一定割合で変化(例えば車速が固定であれば一定の角速度でステアリング角を変化)させた場合に描く曲線であり、クロソイド曲線の算出は例えばシンプソン法或いは近似式を用いてフレネル積分を計算すること、或いは複素平面に置き換えることで算出が可能となる。クロソイド曲線の算出方法については既に公知であるので詳細は省略する。
続いて、第1クロソイド曲線111と円弧軌道110と第2クロソイド曲線112を連結し、図22に示すように連結した軌道(以下、連結軌道という)に接続する直進軌道113、114を算出する。例えば直進軌道113は旋回区間の始点(開始ベクトル83)から連結軌道の始点までを繋ぐ直線の軌道であり、直進軌道114は連結軌道の終点から旋回区間の終点(終了ベクトル84)までを繋ぐ直線の軌道である。そして、算出された直進軌道113、連結軌道、直進軌道114を同じ曲率で接続して連結することで最終的な走行軌道候補115が生成される。走行軌道候補115は走行軌道を走行する車両の走行位置及び方向が連続する(即ち走行軌道が途切れることなく連続した線となり途中で屈曲しない)。更に、図22のグラフに示すように走行する車両の方位変化(曲率)についても連続しており、具体的には直進軌道113と第1クロソイド曲線111、第1クロソイド曲線111と円弧軌道110、円弧軌道110と第2クロソイド曲線112、第2クロソイド曲線112と直進軌道114の各軌道の接続点の前後の曲率が一致した滑らかな軌道となる。尚、接続点の前後の曲率(方位変化)については完全に一致させなくとも所定範囲内であることを条件としても良い。その場合であっても、走行軌道候補115は方位変化が所定範囲内で連続する滑らかな走行軌道となる。
尚、図20に示すような第1の走行軌道96と第2の走行軌道97と第3の走行軌道98とを連結した走行軌道候補について、各走行軌道の接続点では前後の曲率が一致し、前後にある直線軌道との接続点の前後でも曲率が一致するので、上記のような修正を行わなくとも方位変化が所定範囲内で連続する滑らかな走行軌道となる。
以下同様にして、前記S52で取得され更に前記S54で新たに生成された開始ベクトルと終了ベクトルの組み合わせ毎に“旋回区間を走行する際に推奨される走行軌道の候補”を生成し、全ての開始ベクトルと終了ベクトルの組み合わせに対して“旋回区間を走行する際に推奨される走行軌道の候補”を生成した後にS62へと移行する。
その後、S62においてCPU51は、前記S61で生成された複数の走行軌道の各候補について、走行する場合の車両挙動を考慮して車両の走行にかかるコストを算出する。コストは走行軌道としての適性を示し、コストが小さい程、走行軌道としての適性が高いことを示す。以下に前記S62のコスト算出方法の一例について説明する。
具体的には、以下の(1)~(3)の各要素に基づいて算出されたコストを加算することによって走行軌道の候補毎に最終的なコストが算出される。
(1)移動時間(又は距離)・・・移動時間[s]×1.0
(2)最大曲率・・・最大曲率×0.1
(3)ステアリングの旋回方向を切り替える回数・・・回数×5.0
(1)移動時間(又は距離)・・・移動時間[s]×1.0
(2)最大曲率・・・最大曲率×0.1
(3)ステアリングの旋回方向を切り替える回数・・・回数×5.0
先ず(1)については走行軌道の移動時間によってコストが決定し、具体的には走行軌道を走行するのに必要な時間が長い程、より高いコストが算出される、即ち推奨される走行軌道として選択され難いことが分かる。尚、旋回区間を走行する際の車両の車速が一定であると仮定すれば、走行軌道の移動時間は移動距離の長さにも相当する。
また、(2)については走行軌道に含まれる曲線の最大の曲率を算出する。そして、算出された最大の曲率に基づいてコストを算出する。具体的には、走行軌道の最大の曲率が大きい程、走行軌道を走行するに際してより急な旋回を行うこととなり、乗員への負荷が大きいのでより高いコストが算出される、即ち推奨される走行軌道として選択され難いことが分かる。
また、(3)については走行軌道内に含まれるステアリングの旋回方向を切り替える回数に応じてコストが決定し、具体的にはステアリングの旋回方向を切り替える回数が多い程、より高いコストが算出される、即ち推奨される走行軌道として選択され難いことが分かる。
尚、前記S62において走行軌道の候補に対してコストを算出する場合には、上記(1)~(3)の全ての要素を考慮するのではなく、上記(1)~(3)の内の一部の要素のみを考慮してコストを算出しても良い。例えば、(1)と(2)のコストの合計値を算出しても良い。また、上記(1)~(3)以外の要素(例えば加減速の有無、ステアリングの旋回量など)を用いてコストを算出しても良い。
その後、S63においてCPU51は、前記S62で算出されたコストを比較し、前記S61で生成された複数の走行軌道作の候補の内から旋回区間を走行する際に推奨される走行軌道を選択する。基本的には算出されたコストが最も小さい走行軌道の候補を、旋回区間を走行する際に推奨される走行軌道を選択する。尚、S63で算出されるのは障害物を考慮せずに算出した基準走行軌道である。そして、基準走行軌道が障害物と重複しない、即ち基準走行軌道が障害物を回避できる走行軌道である場合(S38:NO)については、基準走行軌道が旋回区間を走行する際に推奨される走行軌道として決定され、その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。一方、基準走行軌道が障害物を回避できない場合(S38:YES)については、後述の第1回避走行軌道生成処理(S40)が行われることとなる。
次に、前記S40において実行される第1回避走行軌道生成処理のサブ処理について図23に基づき説明する。図23は第1回避走行軌道生成処理のサブ処理プログラムのフローチャートである。
ここで、以下のS71~S81の処理については前述した基準走行軌道生成処理(図14)のS51~S61の処理と基本的に同じ処理を行う。但し、以下の点において処理が異なる。
先ず、S74において走行軌道が生成される対象となる旋回区間の始点に前記S72で取得された開始ベクトル以外に新たな開始ベクトルの候補を生成する際には、図24に示すように当初の開始ベクトル83よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル91を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル92を生成することに加えて、当初の開始ベクトル83よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル121を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル122についても生成する。同じく旋回区間の終点に前記S72で取得された終了ベクトル84以外に新たな終了ベクトルの候補を生成する際には、図24に示すように当初の終了ベクトル84よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル93を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル94を生成することに加えて、当初の終了ベクトル84よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル123を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル124についても生成する。それによって、第1回避走行軌道生成処理では旋回する場合に道路の内側から旋回したり旋回後に道路の内側に進入するような旋回時にあえて曲率が大きくなる(旋回半径が小さくなる)軌道についても走行軌道の候補に加えることで障害物を回避する軌道を生成可能にする。
また、S79において前記S72で取得された開始ベクトルから前記S77又はS78で生成された第1の走行軌道へと移動する(道路の外側へと移動する)為の第2の走行軌道を生成する場合については、CPU51は車線内移動を行う際に生じる加速度(横G)が車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s3)を超えないことを条件として、できる限り車線内移動に必要な距離が短くした軌道を算出する。それによって、障害物を回避する軌道が生成され易くなる。
一方、S80において前記S77又はS78で生成された第1の走行軌道から前記S72で取得された終了ベクトルへと移動する(道路の内側へと移動する)為の第3の走行軌道を生成する場合についても、同じくCPU51は車線内移動を行う際に生じる加速度(横G)が車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s3)を超えないことを条件として、できる限り車線内移動に必要な距離が短くした軌道を算出する。それによって、障害物を回避する軌道が生成され易くなる。
そして、基準走行軌道生成処理と同様にして、前記S72で取得され更に前記S74で新たに生成された開始ベクトルと終了ベクトルの組み合わせ毎に“旋回区間を走行する際に推奨される走行軌道の候補”を生成し、全ての開始ベクトルと終了ベクトルの組み合わせに対して“旋回区間を走行する際に推奨される走行軌道の候補”を生成した後にS82へと移行する。尚、基準走行軌道生成処理と比べると前記S74で生成される開始ベクトルと終了ベクトルの候補の数が増えるので、生成される走行軌道の候補の数も多くなる。例えば図24に示す例では開始ベクトルが5つ、終了ベクトルが5つ存在するので、5×5の全25通りの組み合わせに対してS75~S81の処理が実行され、それぞれの組み合わせに対して“旋回区間を走行する際に推奨される走行軌道の候補”が生成される。
また、前記S77又はS78で生成された第1の走行軌道のみからなる走行軌道、或いは第2の走行軌道及び第3の走行軌道を含んでいても円弧と直線軌道が直接連結されている場合では、円弧軌道とその前後にある直進軌道との間にクロソイド曲線を挟まないので直進軌道と円弧軌道の各軌道の接続点の前後で曲率が一致しない(走行軌道に沿って車両が走行する為には各軌道の接続点で一旦停車してハンドル操作を行う必要がある)問題がある。従って前述の基準走行軌道生成処理(図14)と同様に円弧軌道と直進軌道の間にクロソイド曲線を挟むように修正するのが望ましい(図22参照)。
その後、S82においてCPU51は、前記S81で生成された複数の走行軌道の各候補について、走行する場合の車両挙動を考慮して車両の走行にかかるコストを算出する。コストは走行軌道としての適性を示し、コストが小さい程、走行軌道としての適性が高いことを示す。基本的にはS62と同様であり、上述した(1)~(3)の各要素に基づいて算出されたコストを加算することによって走行軌道の候補毎に最終的なコストが算出される。
但し、S82においてCPU51は、(1)~(3)の各要素に基づくコストの算出を行うに際して、先ず前記S81で生成された複数の走行軌道の各候補について、前記S26で取得された障害物情報によって特定される障害物と重複するか否か判定する。ここで、図3に示すように障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいて複数の走行軌道の各候補と障害物とが重複するか否かを判定可能となっている。また、前記S82において“走行軌道の候補と障害物とが重複する”とは前述したS38と同様に障害物が位置する範囲と走行軌道の候補とが重なる場合に加えて、走行軌道の候補に沿って車両が走行した場合に障害物が位置する範囲と車両とが重なる場合、即ち障害物が位置する範囲と走行軌道の候補との間の距離Xが所定距離(例えば車幅の1/2+α)未満となる場合も“走行軌道の候補と障害物とが重複する”とみなす(図13参照)。そして、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から外す、即ち走行軌道の候補から除くようにする。尚、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から除くのではなくコストに極めて大きな値を加算するようにしても良い。
その後、S83においてCPU51は、前記S82で算出されたコストを比較し、前記S81で生成された複数の走行軌道作の候補の内から、障害物を回避するとともに旋回区間を走行する際に推奨される走行軌道を選択する。基本的には障害物と重複することなく算出されたコストが最も小さい走行軌道の候補を、推奨される走行軌道として選択する。その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。但し、第1回避走行軌道生成処理において障害物を回避可能な軌道が生成できない場合(S41:NO)については、後述の第2回避走行軌道生成処理(S44)或いは第3回避走行軌道生成処理(S45)が行われることとなる。
次に、前記S44において実行される第2回避走行軌道生成処理のサブ処理について図25に基づき説明する。図25は第2回避走行軌道生成処理のサブ処理プログラムのフローチャートである。
先ず、S91においてCPU51は、旋回区間の始点(対象地点)に位置する際に推奨される車両の方位と旋回区間の終点(対象地点)に位置する際に推奨される車両の方位とを夫々設定する。詳細についてはS51と同様であるので説明は省略する。
次に、S92においてCPU51は、前記S36で取得された旋回区間の始点及び終点の位置と、前記S91で設定された旋回区間の始点に位置する際に推奨される車両の方位と旋回区間の終点に位置する際に推奨される車両の方位とに基づいて、旋回区間の始点における車両の位置と方位を特定した開始ベクトルと、旋回区間の終点における車両の位置と方位を特定した終了ベクトルと、をそれぞれ取得する。詳細についてはS52と同様であるので説明は省略する。
その後、S93においてCPU51は、前記S32で算出された車両が走行する車線(走行領域)の中心線に沿って、旋回区間を対象にして走行軌道を算出する際にベースとなるガイド線を設定する。例えば図26は直角に屈曲するカーブを含む旋回区間に対して設定される開始ベクトル83と終了ベクトル84とガイド線125の例を示した図である。図26に示すようにガイド線125は車両が走行する車線(走行領域)の中心線上に設定される。尚、第2回避走行軌道生成処理が実行されるのは旋回区間に障害物が存在し、且つ障害物が中心線と重複する場合(S43:YES)であるので、図26に示すように障害物126とガイド線125も重複することとなる。
次に、S94においてCPU51は、前記S93で設定されたガイド線と障害物とが重複する範囲を特定する。ここで、図3に示すようにサーバ装置4から取得される障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいてガイド線と障害物とが重複する範囲を特定可能となっている。また、前記S94において“ガイド線と障害物とが重複する範囲”とは障害物126とガイド線125とが重なる範囲に加えて、ガイド線125に沿って位置する車両が障害物と重なる範囲、即ち図27に示すように障害物126とガイド線125とが重なる範囲の前後に車両の全長を加算した範囲も含む。例えば図27に示す例ではPからQまでの範囲がガイド線125と障害物126とが重複する範囲として特定される。
続いて、S95においてCPU51は、前記S94で特定された“ガイド線と障害物とが重複する範囲”の前後に対して車両の横移動に必要な距離を更に加算した範囲を重複対象区間として特定する。尚、ここで“車両の横移動に必要な距離”とは、車線の中心線(ガイド線)から車線内の最も端まで移動するのに必要な道路進行方向に沿った距離(逆に車線内の最も端から車線の中心線まで移動するのに必要な道路進行方向に沿った距離としても同じ距離)とする。ここで、車両が車線内を右側又は左側に移動する場合の推奨される車両の走行軌道は、曲率が連続して変化するクロソイド曲線を含む。より具体的には前述した図21に示すような形状の異なる複数のクロソイド曲線を接続した軌道となる。例えば図21においてP1を中心線上、P5を車線内の最も端の位置とするとP1からP5までの道路進行方向に沿った距離が“車両の横移動に必要な距離”となる。尚、車線内移動を行う際に生じる加速度(横G)が車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s3)を超えないことを条件として、車線内移動に必要な距離の最小値を算出するようにする。その結果、例えば図28に示す例ではPからQまでの範囲の前後に夫々“車両の横移動に必要な距離”を加算したRからSまでが重複対象区間として特定される。
その後、S96においてCPU51は、前記S93で設定されたガイド線の内、前記S95で特定された重複対象区間について、障害物から離れるように移動させてガイド線を修正する。具体的には、図29に示すように障害物126から離れる方の道路端(図29に示す例ではカーブ内側方向の道路端)側へとPとQを道路幅方向に沿ってスライド移動させる。特に車両がガイド線125に沿って車両が走行すると仮定した場合に車両が道路端と接触する虞のない限界まで移動させる。尚、RとP、PとQ、QとSの間についてはそれぞれ直線で結び、その結果、図29に示すように走行軌道を算出する際にベースとなるガイド線125は障害物126と重複しない形状へと修正される。
続いて、S97においてCPU51は、前記S96で修正されたガイド線に基づいて、旋回区間を対象にガイド線の移動平均線を算出する。尚、移動平均線は、ガイド線に沿って配置された連続する所定数の座標点の平均地点を結んだ線である。より具体的にはガイド線に沿って所定間隔で設定した座標点毎に、その前後2つの座標点を含めた5つの座標点の平均地点(緯度経度をそれぞれ平均した地点)を算出し、その平均地点を結んだ線を移動平均線とする。尚、図30は図29に示すガイド線125に対して算出された移動平均線127を示す。
その後、S98においてCPU51は、修正後のガイド線と前記S97で算出された移動平均線の交点を境界にして前記S95で特定された重複対象区間を分割する。例えば図30に示す例ではT1~T3を境界に重複対象区間が分割されることとなる。
続いて、S99においてCPU51は、走行軌道が生成される対象となる旋回区間の始点に前記S92で取得された開始ベクトル以外に新たな開始ベクトルの候補を生成する。更に、旋回区間の終点に前記S92で取得された終了ベクトル以外に新たな終了ベクトルの候補を生成する。具体的には第1回避走行軌道生成処理(図23)のS74と同様に図24に示すように当初の開始ベクトル83よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル91を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル92を生成することに加えて、当初の開始ベクトル83よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル121を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル122についても生成する。同じく当初の終了ベクトル84よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル93を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル94を生成することに加えて、当初の終了ベクトル84よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル123を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル124についても生成する。
更に、S100においてCPU51は、前記S98で重複対象区間を分割した境界T1~T3に対して車両が通過する通過点の候補を設定する。例えば、図31に示すように修正後のガイド線と前記S97で算出された移動平均線の交点を通過する移動平均線127の法線を境界線T1~T3とした場合に、境界線T1~T3上に通過点の候補を設定する。尚、通過点の候補は各境界に対して1点のみとしても良いし、複数点を設定しても良い。例えば、図31に示す例では境界線T1に対して通過点の候補X1~X3が設定され、境界線T2に対して通過点の候補Y1~Y3が設定され、境界線T3に対して通過点の候補Z1~Z3が設定されているが、4点以上設定しても良い。尚、通過点の候補は車両が走行する車線(走行領域)内であって、且つ障害物126とは重複しない位置に設定するのが望ましい。また、少なくともガイド線と移動平均線の交点については通過点の候補に含めるのが望ましい。尚、通過点を多く生成すれば、より適切な走行軌道を生成できる可能性は高くなるが、一方で走行軌道の候補が多くなるので走行軌道の算出に係る処理負荷は大きくなる。
続いて、S101においてCPU51は、前記S100で設定された各通過点の候補に対して通過点の候補を通過する際に推奨される車両の位置と方位を特定した通過ベクトルを取得する。ここで、通過ベクトルの位置については前記S100で設定された通過点の候補と一致させる。また、通過ベクトルの方向については境界線T1~T3と交差する方向、即ち移動平均線127の接線方向とする。図32は境界T1~T3に対して設定された通過ベクトルの例を示す。
以降のS102~S105の処理は、前記S92で取得され更に前記S99で新たに生成された開始ベクトル及び終了ベクトルと前記S101で取得された通過ベクトルの組み合わせ毎に実行する。例えば図24及び図32に示す例では開始ベクトルが5つ、終了ベクトルが5つ、通過ベクトルが3×3×3存在するので、5×3×3×3×5の全675通りの組み合わせに対してS102~S105の処理を実行する。そして、全ての開始ベクトル及び終了ベクトルと通過ベクトルの組み合わせに対してS102~S105の処理を実行した後にS106へと移行する。
先ずS102においてCPU51は、処理対象の開始ベクトルと終了ベクトルと通過ベクトルを夫々各ベクトルの進行方向に通過する走行軌道を、第1の走行軌道として生成する。尚、生成される軌道の円弧については曲率をできる限り小さくすることを条件とする。ここで、前記S102の第1の走行軌道の生成については、例えば旋回区間の始点から境界線T1までの間を第1の旋回区間とみなし、境界線T1から境界線T2までの間を第2の旋回区間とみなし、境界線T2から境界線T3までの間を第3の旋回区間とみなし、境界線T3から旋回区間の終点までの間を第4の旋回区間とみなし、第1~第4の各旋回区間において始点と終点にあるベクトルをベクトルの方向に通過する推奨される走行軌道を算出して最終的にそれらをつなげたものを第1走行軌道として生成しても良い。その場合には、境界線T1に対して設定された通過ベクトルX1~X3は第1の旋回区間の終了ベクトルで且つ第2の旋回区間の開始ベクトルとなり、境界線T2に対して設定された通過ベクトルY1~Y3は第2の旋回区間の終了ベクトルで且つ第3の旋回区間の開始ベクトルとなり、境界線T3に対して設定された通過ベクトルZ1~Z3は第3の旋回区間の終了ベクトルで且つ第4の旋回区間の開始ベクトルとなる。尚、第1~第4の各旋回区間における開始ベクトルから終了ベクトルまでの推奨される走行軌道については、すでに説明した基準走行軌道生成処理(図14)と同様の処理で算出可能である。
その後、S103においてCPU51は、前記S92で取得された開始ベクトルから前記S102で生成された第1の走行軌道へと移動する(道路の外側へと移動する)為の第2の走行軌道を生成する。尚、詳細については前述したS59やS79の処理と同様であるので説明は省略する。
続いて、S104においてCPU51は、前記S102で生成された第1の走行軌道から前記S92で取得された終了ベクトルへと移動する(道路の内側へと移動する)為の第3の走行軌道を生成する。尚、詳細については前述したS59やS79の処理と同様であるので説明は省略する。
その後、S105においてCPU51は、前記S102で生成された第1の走行軌道と、前記S103で生成された第2の走行軌道(第2の走行軌道が生成された場合のみ)と、前記S104で生成された第3の走行軌道(第3の走行軌道が生成された場合のみ)とを連結して一の走行軌道とする。前記S105で生成された走行軌道は、処理対象の開始ベクトルと終了ベクトルと通過ベクトルの組み合わせに対して生成された“旋回区間を走行する際に推奨される走行軌道の候補”である。特に、対象地点である旋回区間の始点83に到達する際の車両の方位が前記S91で設定された方位となり、対象地点である旋回区間の終点84に到達する際の車両の方位が前記S91で設定された方位となる走行軌道となる。例えば、前記S105で生成された走行軌道に沿って車両が走行した場合に、旋回区間の始点83及び終点84における車両の車体の向き(角度)が道路の進行方向と同方向(道路と並行)で、且つ車両の進行方向が直進方向(ステアリング角度が0°(中立状態))となる。また、前記S105で生成された走行軌道は、中心線を基準とし、中心線の内で障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道となる。
尚、前記S105で生成された走行軌道が円弧軌道とその前後にある直進軌道との間にクロソイド曲線を挟まない場合には、直進軌道と円弧軌道の各軌道の接続点の前後で曲率が一致しない(走行軌道に沿って車両が走行する為には各軌道の接続点で一旦停車してハンドル操作を行う必要がある)問題がある。従って前述の基準走行軌道生成処理(図14)と同様に円弧軌道と直進軌道の間にクロソイド曲線を挟むように修正するのが望ましい(図22参照)。
その後、S106においてCPU51は、前記S105で生成された複数の走行軌道の各候補について、走行する場合の車両挙動を考慮して車両の走行にかかるコストを算出する。コストは走行軌道としての適性を示し、コストが小さい程、走行軌道としての適性が高いことを示す。基本的にはS62と同様であり、上述した(1)~(3)の各要素に基づいて算出されたコストを加算することによって走行軌道の候補毎に最終的なコストが算出される。
但し、S106においてCPU51は、(1)~(3)の各要素に基づくコストの算出を行うに際して、先ず前記S105で生成された複数の走行軌道の各候補について、前記S26で取得された障害物情報によって特定される障害物と重複するか否か判定する。ここで、図3に示すように障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいて複数の走行軌道の各候補と障害物とが重複するか否かを判定可能となっている。また、前記S106において“走行軌道の候補と障害物とが重複する”とは前述したS38と同様に障害物が位置する範囲と走行軌道の候補とが重なる場合に加えて、走行軌道の候補に沿って車両が走行した場合に障害物が位置する範囲と車両とが重なる場合、即ち障害物が位置する範囲と走行軌道の候補との間の距離Xが所定距離(例えば車幅の1/2+α)未満となる場合も“走行軌道の候補と障害物とが重複する”とみなす(図13参照)。そして、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から外す、即ち走行軌道の候補から除くようにする。尚、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から除くのではなくコストに極めて大きな値を加算するようにしても良い。
その後、S107においてCPU51は、前記S106で算出されたコストを比較し、前記S105で生成された複数の走行軌道作の候補の内から、障害物を回避するとともに旋回区間を走行する際に推奨される走行軌道を選択する。基本的には障害物と重複することなく算出されたコストが最も小さい走行軌道の候補を、推奨される走行軌道として選択する。その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。尚、第2回避走行軌道生成処理では前記S105において障害物を回避することが可能な走行軌道の候補が少なくとも一本以上生成されることを前提とするが、障害物を回避することが可能な走行軌道の候補が生成できない場合については、走行する車線の変更で回避できる場合には走行する車線を変更し、走行する車線の変更でも回避できない場合には走行予定経路の変更を提案するようにするのが望ましい。
次に、前記S45において実行される第3回避走行軌道生成処理のサブ処理について図33に基づき説明する。図33は第3回避走行軌道生成処理のサブ処理プログラムのフローチャートである。
先ず、S111においてCPU51は、旋回区間の始点(対象地点)に位置する際に推奨される車両の方位と旋回区間の終点(対象地点)に位置する際に推奨される車両の方位とを夫々設定する。詳細についてはS51と同様であるので説明は省略する。
次に、S112においてCPU51は、前記S36で取得された旋回区間の始点及び終点の位置と、前記S111で設定された旋回区間の始点に位置する際に推奨される車両の方位と旋回区間の終点に位置する際に推奨される車両の方位とに基づいて、旋回区間の始点における車両の位置と方位を特定した開始ベクトルと、旋回区間の終点における車両の位置と方位を特定した終了ベクトルと、をそれぞれ取得する。詳細についてはS52と同様であるので説明は省略する。
その後、S113においてCPU51は、前記S37で算出された基準走行軌道に沿って、旋回区間を対象にして走行軌道を算出する際にベースとなるガイド線を設定する。尚、基準走行軌道は障害物については考慮せずに生成された旋回区間を走行する際に推奨される走行軌道である。例えば図34は直角に屈曲するカーブを含む旋回区間に対して設定される開始ベクトル83と終了ベクトル84とガイド線131の例を示した図である。図34に示すようにガイド線131は基準走行軌道上に設定される。尚、第3回避走行軌道生成処理が実行されるのは旋回区間に障害物が存在し、且つ障害物が中心線とは重複しないが基準走行軌道とは重複する場合(S38:YES、S43:NO)であるので、図34に示すように障害物126とガイド線131も重複することとなる。
次に、S114においてCPU51は、前記S113で設定されたガイド線と障害物とが重複する範囲を特定する。ここで、図3に示すようにサーバ装置4から取得される障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいてガイド線と障害物とが重複する範囲を特定可能となっている。また、前記S114において“ガイド線と障害物とが重複する範囲”とは障害物126とガイド線131とが重なる範囲に加えて、ガイド線131に沿って位置する車両が障害物と重なる範囲、即ち図35に示すように障害物126とガイド線131とが重なる範囲の前後に車両の全長を加算した範囲も含む。例えば図35に示す例ではPからQまでの範囲がガイド線131と障害物126とが重複する範囲として特定される。
続いて、S115においてCPU51は、前記S114で特定された“ガイド線と障害物とが重複する範囲”の前後に対して車両の横移動に必要な距離を更に加算した範囲を重複対象区間として特定する。尚、ここで“車両の横移動に必要な距離”とは、基準走行軌道(ガイド線)から車線内で障害物を回避可能な位置(例えば障害物と車線端との間の中間位置とする)まで移動するのに必要な道路進行方向に沿った距離(逆に中間位置から基準走行軌道まで移動するのに必要な道路進行方向に沿った距離としても同じ距離)とする。ここで、車両が車線内を右側又は左側に移動する場合の推奨される車両の走行軌道は、曲率が連続して変化するクロソイド曲線を含む。より具体的には前述した図21に示すような形状の異なる複数のクロソイド曲線を接続した軌道となる。例えば図21においてP1を基準走行軌道上、P5を障害物と車線端との間の中間位置とするとP1からP5までの道路進行方向に沿った距離が“車両の横移動に必要な距離”となる。尚、車線内移動を行う際に生じる加速度(横G)が車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s3)を超えないことを条件として、車線内移動に必要な距離の最小値を算出するようにする。その結果、例えば図36に示す例ではPからQまでの範囲の前後に夫々“車両の横移動に必要な距離”を加算したRからSまでが重複対象区間として特定される。
その後、S116においてCPU51は、前記S113で設定されたガイド線の内、前記S115で特定された重複対象区間について、障害物から離れるように移動させてガイド線を修正する。具体的には、図37に示すように障害物126から離れる方の道路端(図37に示す例ではカーブ内側方向の道路端)側へとPとQを道路幅方向に沿ってスライド移動させる。特に障害物126と道路端の中間位置まで移動させる。尚、RとP、PとQ、QとSの間についてはそれぞれ直線で結び、その結果、図37に示すように走行軌道を算出する際にベースとなるガイド線131は障害物126と重複しない形状へと修正される。
続いて、S117においてCPU51は、前記S116で修正されたガイド線に基づいて、旋回区間を対象にガイド線の移動平均線を算出する。尚、移動平均線は、ガイド線に沿って配置された連続する所定数の座標点の平均地点を結んだ線である。詳細についてはS97と同様であるので説明は省略する(図30参照)。
その後、S118においてCPU51は、修正後のガイド線と前記S117で算出された移動平均線の交点を境界にして前記S115で特定された重複対象区間を分割する。
続いて、S119においてCPU51は、走行軌道が生成される対象となる旋回区間の始点に前記S112で取得された開始ベクトル以外に新たな開始ベクトルの候補を生成する。更に、旋回区間の終点に前記S112で取得された終了ベクトル以外に新たな終了ベクトルの候補を生成する。具体的には第1回避走行軌道生成処理(図23)のS74と同様に図24に示すように当初の開始ベクトル83よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル91を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル92を生成することに加えて、当初の開始ベクトル83よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル121を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル122についても生成する。同じく当初の終了ベクトル84よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル93を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル94を生成することに加えて、当初の終了ベクトル84よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル123を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル124についても生成する。
更に、S120においてCPU51は、前記S118で重複対象区間を分割した境界T1~T3に対して車両が通過する通過点の候補を設定する。詳細についてはS100と同様であるので説明は省略する(図31参照)。
続いて、S121においてCPU51は、前記S120で設定された各通過点の候補に対して通過点の候補を通過する際に推奨される車両の位置と方位を特定した通過ベクトルを取得する。ここで、通過ベクトルの位置については前記S120で設定された通過点の候補と一致させる。また、通過ベクトルの方向については境界線T1~T3と交差する方向、即ち移動平均線127の接線方向とする(図32参照)。
以降のS122~S125の処理は、前記S112で取得され更に前記S119で新たに生成された開始ベクトル及び終了ベクトルと前記S121で取得された通過ベクトルの組み合わせ毎に実行する。例えば図24及び図32に示す例では開始ベクトルが5つ、終了ベクトルが5つ、通過ベクトルが3×3×3存在するので、5×3×3×3×5の全675通りの組み合わせに対してS122~S125の処理を実行する。そして、全ての開始ベクトル及び終了ベクトルと通過ベクトルの組み合わせに対してS122~S125の処理を実行した後にS126へと移行する。
先ずS122においてCPU51は、処理対象の開始ベクトルと終了ベクトルと通過ベクトルを夫々各ベクトルの進行方向に通過する走行軌道を、第1の走行軌道として生成する。尚、生成される軌道の円弧については曲率をできる限り小さくすることを条件とする。ここで、前記S122の第1の走行軌道の生成については、例えば旋回区間の始点から境界線T1までの間を第1の旋回区間とみなし、境界線T1から境界線T2までの間を第2の旋回区間とみなし、境界線T2から境界線T3までの間を第3の旋回区間とみなし、境界線T3から旋回区間の終点までの間を第4の旋回区間とみなし、第1~第4の各旋回区間において始点と終点にあるベクトルをベクトルの方向に通過する推奨される走行軌道を算出して最終的にそれらをつなげたものを第1走行軌道として生成しても良い。その場合には、境界線T1に対して設定された通過ベクトルX1~X3は第1の旋回区間の終了ベクトルで且つ第2の旋回区間の開始ベクトルとなり、境界線T2に対して設定された通過ベクトルY1~Y3は第2の旋回区間の終了ベクトルで且つ第3の旋回区間の開始ベクトルとなり、境界線T3に対して設定された通過ベクトルZ1~Z3は第3の旋回区間の終了ベクトルで且つ第4の旋回区間の開始ベクトルとなる。尚、第1~第4の各旋回区間における開始ベクトルから終了ベクトルまでの推奨される走行軌道については、すでに説明した基準走行軌道生成処理(図14)と同様の処理で算出可能である。
その後、S123においてCPU51は、前記S112で取得された開始ベクトルから前記S122で生成された第1の走行軌道へと移動する(道路の外側へと移動する)為の第2の走行軌道を生成する。尚、詳細については前述したS59やS79の処理と同様であるので説明は省略する。
続いて、S124においてCPU51は、前記S122で生成された第1の走行軌道から前記S112で取得された終了ベクトルへと移動する(道路の内側へと移動する)為の第3の走行軌道を生成する。尚、詳細については前述したS59やS79の処理と同様であるので説明は省略する。
その後、S125においてCPU51は、前記S122で生成された第1の走行軌道と、前記S123で生成された第2の走行軌道(第2の走行軌道が生成された場合のみ)と、前記S124で生成された第3の走行軌道(第3の走行軌道が生成された場合のみ)とを連結して一の走行軌道とする。前記S125で生成された走行軌道は、処理対象の開始ベクトルと終了ベクトルと通過ベクトルの組み合わせに対して生成された“旋回区間を走行する際に推奨される走行軌道の候補”である。特に、対象地点である旋回区間の始点83に到達する際の車両の方位が前記S111で設定された方位となり、対象地点である旋回区間の終点84に到達する際の車両の方位が前記S111で設定された方位となる走行軌道となる。例えば、前記S125で生成された走行軌道に沿って車両が走行した場合に、旋回区間の始点83及び終点84における車両の車体の向き(角度)が道路の進行方向と同方向(道路と並行)で、且つ車両の進行方向が直進方向(ステアリング角度が0°(中立状態))となる。また、前記S125で生成された走行軌道は、基準走行軌道を基準とし、基準走行軌道の内で障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道となる。
尚、前記S125で生成された走行軌道が円弧軌道とその前後にある直進軌道との間にクロソイド曲線を挟まない場合には、直進軌道と円弧軌道の各軌道の接続点の前後で曲率が一致しない(走行軌道に沿って車両が走行する為には各軌道の接続点で一旦停車してハンドル操作を行う必要がある)問題がある。従って前述の基準走行軌道生成処理(図14)と同様に円弧軌道と直進軌道の間にクロソイド曲線を挟むように修正するのが望ましい(図22参照)。
その後、S126においてCPU51は、前記S125で生成された複数の走行軌道の各候補について、走行する場合の車両挙動を考慮して車両の走行にかかるコストを算出する。コストは走行軌道としての適性を示し、コストが小さい程、走行軌道としての適性が高いことを示す。基本的にはS62と同様であり、上述した(1)~(3)の各要素に基づいて算出されたコストを加算することによって走行軌道の候補毎に最終的なコストが算出される。
但し、S126においてCPU51は、(1)~(3)の各要素に基づくコストの算出を行うに際して、先ず前記S125で生成された複数の走行軌道の各候補について、前記S26で取得された障害物情報によって特定される障害物と重複するか否か判定する。ここで、図3に示すように障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいて複数の走行軌道の各候補と障害物とが重複するか否かを判定可能となっている。また、前記S126において“走行軌道の候補と障害物とが重複する”とは前述したS38と同様に障害物が位置する範囲と走行軌道の候補とが重なる場合に加えて、走行軌道の候補に沿って車両が走行した場合に障害物が位置する範囲と車両とが重なる場合、即ち障害物が位置する範囲と走行軌道の候補との間の距離Xが所定距離(例えば車幅の1/2+α)未満となる場合も“走行軌道の候補と障害物とが重複する”とみなす(図13参照)。そして、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から外す、即ち走行軌道の候補から除くようにする。尚、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から除くのではなくコストに極めて大きな値を加算するようにしても良い。
その後、S127においてCPU51は、前記S126で算出されたコストを比較し、前記S125で生成された複数の走行軌道作の候補の内から、障害物を回避するとともに旋回区間を走行する際に推奨される走行軌道を選択する。基本的には障害物と重複することなく算出されたコストが最も小さい走行軌道の候補を、推奨される走行軌道として選択する。その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。尚、第2回避走行軌道生成処理では前記S125において障害物を回避することが可能な走行軌道の候補が少なくとも一本以上生成されることを前提とするが、障害物を回避することが可能な走行軌道の候補が生成できない場合については、走行する車線の変更で回避できる場合には走行する車線を変更し、走行する車線の変更でも回避できない場合には走行予定経路の変更を提案するようにするのが望ましい。
尚、上記実施例ではカーブ形状(道路が円弧状に曲がる場合に加えて、直角などの所定の角度で屈曲する場合も含む)の道路を車両が旋回を伴って走行する旋回区間を対象として静的走行軌道を生成する例を挙げて説明したが、他に車両が右左折する対象となる交差点(分岐点)の区間、駐車場等の施設内において車両の旋回を伴って走行する区間、駐車スペースへの進入(入庫)或いは退出(出庫)する為に旋回を行う区間、或いは公道から施設内に進入又は施設内から公道に進入する為に旋回して走行する区間を挙げられる。上記のうち一部のみを旋回区間の対象としても良い。或いは上記以外も旋回区間に含めても良い。例えば車線変更を行う区間についても旋回区間に含めても良い。
また、旋回区間の始点や終点の位置(開始ベクトルや終了ベクトルが設定される位置)については旋回区間の種類ごとに異なる基準で設定するのが望ましい。例えば図38に示すように車両が右左折する対象となる交差点(分岐点)の区間については、交差点への進入を開始する地点(停止線があれば停止線)を旋回区間の始点とし、交差点から退出を完了した地点を旋回区間の終点とする。また、図39に示すように駐車スペースへの進入については車路上であって駐車対象とする駐車スペースの所定距離手前の地点を旋回区間の始点とし、駐車対象とする駐車スペースを旋回区間の終点とする。また、駐車スペースからの退出については駐車する駐車スペースを旋回区間の始点とし、車路上であって駐車スペースから所定距離だけ進行方向側の地点を旋回区間の終点とする。また、図40に示すように公道から施設内への進入については公道上であって施設の位置口から所定距離手前を旋回区間の始点とし、施設の入口から施設内に所定距離だけ進入した地点を旋回区間の終点とする。また、施設内から公道への退出については施設の入口から施設内に所定距離だけ進入した地点を旋回区間の始点とし、公道上であって施設の位置口から所定距離だけ進行方向側の地点を旋回区間の終点とする。
また、図38に示すような交差点については、交差点内には車線は存在しないが誘導線(ガイド白線)、交差点中央に配置されるひし形の導流帯(ダイヤマーク)等の路面に描かれた路面表示の他、ポール等の構造物を車線の縁部とみなして上述した走行軌道の生成を行う。
また、図39に示すような駐車スペースへの進入或いは退出については、車路の区画線に加えて駐車スペースを区切る区画線を車線の縁部とみなして上述した走行軌道の生成を行う。更に、旋回区間の始点や終点に設定される開始ベクトル及び終了ベクトルの方向について、図39に示すように駐車スペースが旋回区間の始点又は終点である場合には駐車スペースに平行な方向とする。但し、駐車スペースへ進入する為の走行軌道については、終点における車両の進行方向(タイヤの向き、ステアリング角度)は必ずしも駐車スペースと並行である必要はなく、即ち図19に示すようなクロソイド曲線は不要で円弧軌道で終了する走行軌道であっても良い。
また、図40に示すような公道からの施設内への進入又は退出については、公道に面した施設の入口の縁部(公道と施設との間において車両が通行可能な領域の縁部)を車線の縁部とみなして上述した走行軌道の生成を行う。また、公道から施設内に進入或いは退出する旋回区間については、歩道に進入する前で一旦停止する必要があるので、旋回前に一旦停止することを前提とした走行軌道とする。一時停止線のある交差点で旋回を行う旋回区間も同様である。
また、図39に示すような駐車スペースへの進入或いは退出については、車路の区画線に加えて駐車スペースを区切る区画線を車線の縁部とみなして上述した走行軌道の生成を行う。更に、旋回区間の始点や終点に設定される開始ベクトル及び終了ベクトルの方向について、図39に示すように駐車スペースが旋回区間の始点又は終点である場合には駐車スペースに平行な方向とする。但し、駐車スペースへ進入する為の走行軌道については、終点における車両の進行方向(タイヤの向き、ステアリング角度)は必ずしも駐車スペースと並行である必要はなく、即ち図19に示すようなクロソイド曲線は不要で円弧軌道で終了する走行軌道であっても良い。
また、図40に示すような公道からの施設内への進入又は退出については、公道に面した施設の入口の縁部(公道と施設との間において車両が通行可能な領域の縁部)を車線の縁部とみなして上述した走行軌道の生成を行う。また、公道から施設内に進入或いは退出する旋回区間については、歩道に進入する前で一旦停止する必要があるので、旋回前に一旦停止することを前提とした走行軌道とする。一時停止線のある交差点で旋回を行う旋回区間も同様である。
また、任意の2点に設定された2つのベクトル(開始ベクトルと終了ベクトル)の間を結ぶ軌道としては、図41に示すように(A)円弧軌道(クロソイド曲線を含んでも良い、以下同じ)とその前後に接続される直線軌道の組み合わせ、(B)2つの円弧軌道の組み合わせ、(C)別回転の2つの円弧軌道とその間に接続される直線軌道の組み合わせ、(D)同回転の2つの円弧軌道とその間に接続される直線軌道の組み合わせ、が挙げられる。上述した実施例では開始ベクトルと終了ベクトルの間を結ぶ走行軌道の候補として(A)のみを生成しているが、(B)~(D)の走行軌道が生成可能な状況であれば(B)~(D)の走行軌道についても走行軌道の候補として生成しても良い。その上で、前記S63、S82、S106、S126において各走行軌道の候補についてコストを比較して、最終的に推奨される走行軌道を選択しても良い。
以上詳細に説明した通り、本実施形態に係るナビゲーション装置1及びナビゲーション装置1で実行されるコンピュータプログラムでは、車両が走行する走行予定経路を取得し(S1)、走行予定経路上に存在する障害物に関する障害物情報についても取得し(S26)、走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を含む場合には、走行予定経路に基づいて旋回区間の始点と終点について車両が到達する際の車両の方位を設定し(S51、S71、S91、S111)、旋回区間の始点と終点に到達する際の車両の方位が設定された方位となることを条件として、障害物情報を用いて旋回区間において障害物を回避するとともに車両の走行が推奨される走行軌道を生成し(S37~S42)、生成された走行軌道に基づいて車両の運転支援を行う(S9、S10)ので、旋回区間について特に障害物を回避する走行軌道を生成する場合において、旋回区間の始点或いは終点の少なくとも一方について車両に不自然な挙動が行われることを防止し、急な速度変化や横加速度を抑えた車両にとって推奨される走行軌道を生成することが可能となる。その結果、車両の乗員に負担を生じさせない適切な運転支援を実施することが可能となる。
また、旋回区間がカーブ形状の道路を車両が旋回を伴って走行する区間である場合に、障害物が車両の走行する予定の車線の中心線と重複する位置にあるか否かを判定し(S43)、障害物が中心線と重複する位置にある場合には、中心線を基準とし、中心線の内で障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成する(S44)ので、車両が走行する予定の車線の中心線付近を走行しつつ最小限の車両動作で障害物を回避する走行軌道を生成することが可能となる。
また、旋回区間がカーブ形状の道路を車両が旋回を伴って走行する区間である場合に、障害物が車両の走行する予定の車線の中心線と重複する位置にあるか否かを判定し(S43)、障害物が中心線と重複しない位置にある場合には、障害物を考慮せずに生成した旋回区間において車両の走行が推奨される走行軌道である基準走行軌道を基準とし、基準走行軌道の内で障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成する(S45)ので、障害物がないと仮定した場合に走行が推奨される走行軌道付近を走行しつつ最小限の車両動作で障害物を回避する走行軌道を生成することが可能となる。
また、旋回区間の始点における車両の位置と方位を特定した開始ベクトルと、旋回区間の終点における車両の位置と方位を特定した終了ベクトルを夫々取得し(S92、S112)、重複対象区間を複数の区間に分割し、分割した複数の区間の境界において車両が通過する通過点の候補を設定し、開始ベクトルから区間の境界において通過点の候補を通過して終了ベクトルへと各ベクトルの方向に通過する走行軌道を、車両の走行が推奨される走行軌道として生成する(S102、S122)ので、重複対象区間において障害物と重複せず、且つ旋回区間の始点と終点に到達する際の車両の方位が推奨される方位となる走行軌道を生成することが可能となる。
また、複数の区間の境界において車両が通過する通過点の候補を複数設定し(S100、S120)、開始ベクトルから区間の境界において通過点の候補を通過して終了ベクトルへと各ベクトルの方向に通過する走行軌道を、走行軌道の候補として通過点の候補毎に生成し(S105、S125)、通過点の候補毎に生成された複数の走行軌道の候補を比較し、障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し(S107、S127)、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成するので、重複対象区間において障害物と重複しない走行軌道候補を複数提案するとともに、提案された走行軌道候補の内からより推奨される走行軌道を選択することが可能となる。
通過点の候補毎に生成された複数の走行軌道の候補に対してコストを算出し、算出されたコストを比較して複数の走行軌道の候補の内から障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択する(S107、S127)ので、重複対象区間において障害物と重複しない走行軌道候補の内から、コストを比較することでより推奨される走行軌道を選択することが可能となる。
旋回区間の始点における車両の位置と方位を特定した開始ベクトルを複数取得するとともに、旋回区間の終点における車両の位置と方位を特定した終了ベクトルを複数取得し(S74)、開始ベクトルから終了ベクトルへと各ベクトルの方向に通過する走行軌道を、走行軌道の候補として開始ベクトルと終了ベクトルの組み合わせ毎に生成し(S75~S81)、生成した走行軌道の候補の内で障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し(S83)、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成するので、開始ベクトルと終了ベクトルの候補を複数取得することで、開始ベクトルと終了ベクトルを各ベクトルの方向に通過する走行軌道候補を多数生成することが可能となり、その内から障害物を回避することが可能な走行軌道を選択可能となる。
また、旋回区間がカーブ形状の道路を車両が旋回を伴って走行する区間である場合に、障害物が車両の走行する予定の車線の中心線と重複する位置にあるか否かを判定し(S43)、障害物が中心線と重複する位置にある場合には、中心線を基準とし、中心線の内で障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成する(S44)ので、車両が走行する予定の車線の中心線付近を走行しつつ最小限の車両動作で障害物を回避する走行軌道を生成することが可能となる。
また、旋回区間がカーブ形状の道路を車両が旋回を伴って走行する区間である場合に、障害物が車両の走行する予定の車線の中心線と重複する位置にあるか否かを判定し(S43)、障害物が中心線と重複しない位置にある場合には、障害物を考慮せずに生成した旋回区間において車両の走行が推奨される走行軌道である基準走行軌道を基準とし、基準走行軌道の内で障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成する(S45)ので、障害物がないと仮定した場合に走行が推奨される走行軌道付近を走行しつつ最小限の車両動作で障害物を回避する走行軌道を生成することが可能となる。
また、旋回区間の始点における車両の位置と方位を特定した開始ベクトルと、旋回区間の終点における車両の位置と方位を特定した終了ベクトルを夫々取得し(S92、S112)、重複対象区間を複数の区間に分割し、分割した複数の区間の境界において車両が通過する通過点の候補を設定し、開始ベクトルから区間の境界において通過点の候補を通過して終了ベクトルへと各ベクトルの方向に通過する走行軌道を、車両の走行が推奨される走行軌道として生成する(S102、S122)ので、重複対象区間において障害物と重複せず、且つ旋回区間の始点と終点に到達する際の車両の方位が推奨される方位となる走行軌道を生成することが可能となる。
また、複数の区間の境界において車両が通過する通過点の候補を複数設定し(S100、S120)、開始ベクトルから区間の境界において通過点の候補を通過して終了ベクトルへと各ベクトルの方向に通過する走行軌道を、走行軌道の候補として通過点の候補毎に生成し(S105、S125)、通過点の候補毎に生成された複数の走行軌道の候補を比較し、障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し(S107、S127)、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成するので、重複対象区間において障害物と重複しない走行軌道候補を複数提案するとともに、提案された走行軌道候補の内からより推奨される走行軌道を選択することが可能となる。
通過点の候補毎に生成された複数の走行軌道の候補に対してコストを算出し、算出されたコストを比較して複数の走行軌道の候補の内から障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択する(S107、S127)ので、重複対象区間において障害物と重複しない走行軌道候補の内から、コストを比較することでより推奨される走行軌道を選択することが可能となる。
旋回区間の始点における車両の位置と方位を特定した開始ベクトルを複数取得するとともに、旋回区間の終点における車両の位置と方位を特定した終了ベクトルを複数取得し(S74)、開始ベクトルから終了ベクトルへと各ベクトルの方向に通過する走行軌道を、走行軌道の候補として開始ベクトルと終了ベクトルの組み合わせ毎に生成し(S75~S81)、生成した走行軌道の候補の内で障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し(S83)、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成するので、開始ベクトルと終了ベクトルの候補を複数取得することで、開始ベクトルと終了ベクトルを各ベクトルの方向に通過する走行軌道候補を多数生成することが可能となり、その内から障害物を回避することが可能な走行軌道を選択可能となる。
尚、本発明は前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
例えば、本実施形態では、旋回区間の始点と終点の両方に対して車両が到達する際の車両の方位を設定している(S51、S71、S91、S111)が、旋回区間の始点と終点のいずれか一方のみに対して車両が到達する際の車両の方位を設定しても良い。例えば、車両の現在位置を旋回区間の始点として旋回区間の走行軌道を生成する場合については、旋回区間の終点のみに対して車両が到達する際の車両の方位を設定すればよい。また、旋回区間の始点と終点以外(例えばクリッピングポイント85や中間点)に対して車両が到達する際の車両の方位を設定しても良い。
例えば、本実施形態では、旋回区間の始点と終点の両方に対して車両が到達する際の車両の方位を設定している(S51、S71、S91、S111)が、旋回区間の始点と終点のいずれか一方のみに対して車両が到達する際の車両の方位を設定しても良い。例えば、車両の現在位置を旋回区間の始点として旋回区間の走行軌道を生成する場合については、旋回区間の終点のみに対して車両が到達する際の車両の方位を設定すればよい。また、旋回区間の始点と終点以外(例えばクリッピングポイント85や中間点)に対して車両が到達する際の車両の方位を設定しても良い。
また、本実施形態では地図情報に基づいて中心線81と移動平均線82を特定し、中心線81と移動平均線82とを比較してカーブの存在を特定している(S34)が、例えば車外カメラで撮像した画像に対して画像認識処理を行うことによってカーブの存在を特定しても良い。
また、本実施形態では、中心線81を車両が走行する車線の中心線としているが、一車線の道路や車線の区分がない道路については道路の中心線としても良い。
また、本実施形態では、車両が取り得る複数のパターンで旋回区間の走行軌道を生成し、生成された各走行軌道のコストを比較して最終的に推奨される走行軌道を決定しているが、予め車両が走行する車線の形状などを考慮した上で最も推奨される一のパターンのみで旋回区間の走行軌道を生成しても良い。
また、本実施形態では、走行軌道を生成した後に生成された走行軌道に従って走行する為の車両制御を行っている(S9、S10)が、S9以降の車両制御に係る処理については省略することも可能である。例えば、ナビゲーション装置1は、走行軌道に基づく車両の制御については行わずに、推奨される走行軌道をユーザに案内する装置であっても良い。
また、本実施形態では、高精度地図情報16や施設情報17を用いてレーンネットワーク、駐車場内ネットワークを生成している(S23)が、全国の道路、駐車場を対象とした各ネットワークを予めDBに格納しておき、必要に応じてDBから読み出すようにしても良い。
また、本実施形態では、サーバ装置4が有する高精度地図情報には、道路のレーン形状(車線単位の道路形状や曲率、車線幅等)と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報の両方を含むが、区画線に関する情報のみを含むようにしても良いし、道路のレーン形状に関する情報のみを含むようにしても良い。例えば区画線に関する情報のみを含む場合であっても、区画線に関する情報に基づいて道路のレーン形状に関する情報に相当する情報を推定することが可能である。また、道路のレーン形状に関する情報のみを含む場合であっても、道路のレーン形状に関する情報に基づいて区画線に関する情報に相当する情報を推定することが可能である。また、「区画線に関する情報」は、車線を区画する区画線自体の種類や配置を特定する情報であっても良いし、隣接する車線間で車線変更が可能か否かを特定する情報であっても良いし、車線の形状を直接または間接的に特定する情報であっても良い。
また、本実施形態では、静的走行軌道に動的走行軌道を反映する手段として、静的走行軌道の一部を動的走行軌道に置き換えている(S7)が、置き換えるのではなく静的走行軌道を動的走行軌道に近づけるように軌道の修正を行っても良い。
また、本実施形態では、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てを車両制御ECU40が制御することをユーザの運転操作によらずに自動的に走行を行う為の自動運転支援として説明してきた。しかし、自動運転支援を、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の少なくとも一の操作を車両制御ECU40が制御することとしても良い。一方、ユーザの運転操作による手動運転とは車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てをユーザが行うこととして説明する。
また、本発明の運転支援は車両の自動運転に係る自動運転支援に限られない。例えば、前記S3で生成された静的走行軌道や前記S6で生成された動的走行軌道をナビゲーション画面に表示するとともに、音声や画面等を用いた案内(例えば車線変更の案内、推奨車速の案内等)を行うことによる運転支援も可能である。また、静的走行軌道や動的走行軌道をナビゲーション画面に表示することでユーザの運転操作を支援するようにしてもよい。
また、本実施形態では、自動運転支援プログラム(図5)をナビゲーション装置1が実行する構成としているが、ナビゲーション装置1以外の車載器や車両制御ECU40が実行する構成としても良い。その場合には、車載器や車両制御ECU40は車両の現在位置や地図情報等をナビゲーション装置1やサーバ装置4から取得する構成とする。更に、サーバ装置4が自動運転支援プログラム(図5)のステップの一部または全部を実行するようにしても良い。その場合にはサーバ装置4が本願の運転支援装置に相当する。
また、本発明はナビゲーション装置以外に、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ等(以下、携帯端末等という)に適用することも可能である。また、サーバと携帯端末等から構成されるシステムに対しても適用することが可能となる。その場合には、上述した自動運転支援プログラム(図5参照)の各ステップは、サーバと携帯端末等のいずれが実施する構成としても良い。但し、本発明を携帯端末等に適用する場合には、自動運転支援が実行可能な車両と携帯端末等が通信可能に接続(有線無線は問わない)される必要がある。
〔本実施形態のまとめ〕
本実施形態は以下の構成を少なくとも備える。
車両(5)が走行する走行予定経路を取得する走行予定経路取得手段(51)と、前記走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する旋回走行区間取得手段(51)と、前記走行予定経路上に存在する障害物(126)に関する障害物情報を取得する障害物情報取得手段(51)と、前記走行予定経路に基づいて前記旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する方位設定手段(51)と、前記対象地点に到達する際の車両の方位が前記方位設定手段で設定された方位となることを条件として、前記障害物情報を用いて前記旋回区間において前記障害物を回避するとともに車両の走行が推奨される走行軌道(96、97、98)を生成する走行軌道生成手段(51)と、前記走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う運転支援手段(51)と、を有する。
本実施形態は以下の構成を少なくとも備える。
車両(5)が走行する走行予定経路を取得する走行予定経路取得手段(51)と、前記走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する旋回走行区間取得手段(51)と、前記走行予定経路上に存在する障害物(126)に関する障害物情報を取得する障害物情報取得手段(51)と、前記走行予定経路に基づいて前記旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する方位設定手段(51)と、前記対象地点に到達する際の車両の方位が前記方位設定手段で設定された方位となることを条件として、前記障害物情報を用いて前記旋回区間において前記障害物を回避するとともに車両の走行が推奨される走行軌道(96、97、98)を生成する走行軌道生成手段(51)と、前記走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う運転支援手段(51)と、を有する。
この構成によれば、旋回区間について特に障害物を回避する走行軌道を生成する場合において、旋回区間の始点或いは終点の少なくとも一方について車両に不自然な挙動が行われることを防止し、急な速度変化や横加速度を抑えた車両にとって推奨される走行軌道を生成することが可能となる。その結果、車両の乗員に負担を生じさせない適切な運転支援を実施することが可能となる。
また、本実施形態は、前記旋回区間がカーブ形状の道路を車両(5)が旋回を伴って走行する区間である場合に、前記障害物(126)が車両の走行する予定の車線の中心線と重複する位置にあるか否かを判定する重複判定手段(51)を有し、前記走行軌道生成手段(51)は、前記障害物が前記中心線と重複する位置にある場合には、前記中心線を基準とし、前記中心線の内で前記障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成すると好適である。
この構成によれば、障害物がないと仮定した場合に走行が推奨される走行軌道付近を走行しつつ最小限の車両動作で障害物を回避する走行軌道を生成することが可能となる。
また、本実施形態は、前記旋回区間がカーブ形状の道路を車両(5)が旋回を伴って走行する区間である場合に、前記障害物(126)が車両(5)の走行する予定の車線の中心線(125)と重複する位置にあるか否かを判定する重複判定手段(51)を有し、前記走行軌道生成手段(51)は、前記障害物が前記中心線と重複しない位置にある場合には、前記障害物を考慮せずに生成した前記旋回区間において車両の走行が推奨される走行軌道である基準走行軌道(131)を基準とし、前記基準走行軌道の内で前記障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成する。と好適である。
この構成によれば、障害物がないと仮定した場合に走行が推奨される走行軌道付近を走行しつつ最小限の車両動作で障害物を回避する走行軌道を生成することが可能となる。
また、本実施形態は、前記方位設定手段(51)により設定された車両(5)の方位に基づいて、前記旋回区間の始点における車両の位置と方位を特定した開始ベクトル(83)を取得する開始ベクトル取得手段(51)と、前記方位設定手段により設定された車両の方位に基づいて、前記旋回区間の終点における車両の位置と方位を特定した終了ベクトル(84)を取得する終了ベクトル取得手段(51)と、を有し、前記走行軌道生成手段(51)は、前記重複対象区間を複数の区間に分割し、前記分割した複数の区間の境界において車両が通過する通過点の候補(X1~X3、Y1~Y3、Z1~Z3)を設定し、前記開始ベクトルから前記区間の境界において前記通過点の候補を通過して前記終了ベクトルへと各ベクトルの方向に通過する走行軌道を、車両の走行が推奨される走行軌道として生成すると好適である。
この構成によれば、重複対象区間において障害物と重複せず、且つ旋回区間の始点と終点に到達する際の車両の方位が推奨される方位となる走行軌道を生成することが可能となる。
また、本実施形態は、前記走行軌道生成手段(51)は、前記複数の区間の境界において車両(5)が通過する通過点の候補(X1~X3、Y1~Y3、Z1~Z3)を複数設定し、前記開始ベクトル(83)から前記区間の境界において前記通過点の候補を通過して前記終了ベクトル(84)へと各ベクトルの方向に通過する走行軌道を、前記走行軌道の候補として前記通過点の候補毎に生成し、前記通過点の候補毎に生成された複数の前記走行軌道の候補を比較し、障害物(126)と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成すると好適である。
この構成によれば、重複対象区間において障害物と重複しない走行軌道候補を複数提案するとともに、提案された走行軌道候補の内からより推奨される走行軌道を選択することが可能となる。
また、本実施形態は、前記走行軌道生成手段(51)は、前記通過点の候補(X1~X3、Y1~Y3、Z1~Z3)毎に生成された複数の走行軌道の候補に対してコストを算出し、算出されたコストを比較して前記複数の走行軌道の候補の内から障害物(126)と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択する。
この構成によれば、重複対象区間において障害物と重複しない走行軌道候補の内から、コストを比較することでより推奨される走行軌道を選択することが可能となる。
また、本実施形態は、前記方位設定手段(51)により設定された車両(5)の方位に基づいて、前記旋回区間の始点における車両の位置と方位を特定した開始ベクトル(83)を複数取得する開始ベクトル取得手段(51)と、前記方位設定手段により設定された車両の方位に基づいて、前記旋回区間の終点における車両の位置と方位を特定した終了ベクトル(84)を複数取得する終了ベクトル取得手段(51)と、を有し、前記走行軌道生成手段(51)は、前記開始ベクトルから前記終了ベクトルへと各ベクトルの方向に通過する走行軌道を、前記走行軌道の候補として前記開始ベクトルと前記終了ベクトルの組み合わせ毎に生成し、生成した走行軌道の候補の内で障害物(126)と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成すると好適である。
この構成によれば、開始ベクトルと終了ベクトルの候補を複数取得することで、開始ベクトルと終了ベクトルを各ベクトルの方向に通過する走行軌道候補を多数生成することが可能となり、その内から障害物を回避することが可能な走行軌道を選択可能となる。
1…ナビゲーション装置(運転支援装置)、2…運転支援システム、3…情報配信センタ、4…サーバ装置、5…車両、16…高精度地図情報、33…ナビゲーションECU、40…車両制御ECU、51…CPU、83…開始ベクトル(旋回区間の始点)、84…終了ベクトル(旋回区間の終点)、85…クリッピングポイント、96…第1の走行軌道、97…第2の走行軌道、98…第3の走行軌道、125…ガイド線(車線の中心線)、126…障害物、127…ガイド線の移動平均線、131…ガイド線(基準走行軌道)
Claims (8)
- 車両が走行する走行予定経路を取得する走行予定経路取得手段と、
前記走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する旋回走行区間取得手段と、
前記走行予定経路上に存在する障害物に関する障害物情報を取得する障害物情報取得手段と、
前記走行予定経路に基づいて前記旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する方位設定手段と、
前記対象地点に到達する際の車両の方位が前記方位設定手段で設定された方位となることを条件として、前記障害物情報を用いて前記旋回区間において前記障害物を回避するとともに車両の走行が推奨される走行軌道を生成する走行軌道生成手段と、
前記走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う運転支援手段と、を有する運転支援装置。 - 前記旋回区間がカーブ形状の道路を車両が旋回を伴って走行する区間である場合に、
前記障害物が車両の走行する予定の車線の中心線と重複する位置にあるか否かを判定する重複判定手段を有し、
前記走行軌道生成手段は、
前記障害物が前記中心線と重複する位置にある場合には、
前記中心線を基準とし、前記中心線の内で前記障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成する請求項1に記載の運転支援装置。 - 前記旋回区間がカーブ形状の道路を車両が旋回を伴って走行する区間である場合に、
前記障害物が車両の走行する予定の車線の中心線と重複する位置にあるか否かを判定する重複判定手段を有し、
前記走行軌道生成手段は、
前記障害物が前記中心線と重複しない位置にある場合には、
前記障害物を考慮せずに生成した前記旋回区間において車両の走行が推奨される走行軌道である基準走行軌道を基準とし、前記基準走行軌道の内で前記障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成する請求項1に記載の運転支援装置。 - 前記方位設定手段により設定された車両の方位に基づいて、前記旋回区間の始点における車両の位置と方位を特定した開始ベクトルを取得する開始ベクトル取得手段と、
前記方位設定手段により設定された車両の方位に基づいて、前記旋回区間の終点における車両の位置と方位を特定した終了ベクトルを取得する終了ベクトル取得手段と、を有し、
前記走行軌道生成手段は、
前記重複対象区間を複数の区間に分割し、
前記分割した複数の区間の境界において車両が通過する通過点の候補を設定し、
前記開始ベクトルから前記区間の境界において前記通過点の候補を通過して前記終了ベクトルへと各ベクトルの方向に通過する走行軌道を、車両の走行が推奨される走行軌道として生成する請求項2又は請求項3に記載の運転支援装置。 - 前記走行軌道生成手段は、
前記複数の区間の境界において車両が通過する通過点の候補を複数設定し、
前記開始ベクトルから前記区間の境界において前記通過点の候補を通過して前記終了ベクトルへと各ベクトルの方向に通過する走行軌道を、前記走行軌道の候補として前記通過点の候補毎に生成し、
前記通過点の候補毎に生成された複数の前記走行軌道の候補を比較し、障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成する請求項4に記載の運転支援装置。 - 前記走行軌道生成手段は、
前記通過点の候補毎に生成された複数の走行軌道の候補に対してコストを算出し、
算出されたコストを比較して前記複数の走行軌道の候補の内から障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択する請求項5に記載の運転支援装置。 - 前記方位設定手段により設定された車両の方位に基づいて、前記旋回区間の始点における車両の位置と方位を特定した開始ベクトルを複数取得する開始ベクトル取得手段と、
前記方位設定手段により設定された車両の方位に基づいて、前記旋回区間の終点における車両の位置と方位を特定した終了ベクトルを複数取得する終了ベクトル取得手段と、を有し、
前記走行軌道生成手段は、
前記開始ベクトルから前記終了ベクトルへと各ベクトルの方向に通過する走行軌道を、前記走行軌道の候補として前記開始ベクトルと前記終了ベクトルの組み合わせ毎に生成し、
生成した走行軌道の候補の内で障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成する請求項1に記載の運転支援装置。 - コンピュータを、
車両が走行する走行予定経路を取得する走行予定経路取得手段と、
前記走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する旋回走行区間取得手段と、
前記走行予定経路上に存在する障害物に関する障害物情報を取得する障害物情報取得手段と、
前記走行予定経路に基づいて前記旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する方位設定手段と、
前記対象地点に到達する際の車両の方位が前記方位設定手段で設定された方位となることを条件として、前記障害物情報を用いて前記旋回区間において前記障害物を回避するとともに車両の走行が推奨される走行軌道を生成する走行軌道生成手段と、
前記走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う運転支援手段と、
して機能させる為のコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023-028623 | 2023-02-27 | ||
JP2023028623A JP2024121486A (ja) | 2023-02-27 | 2023-02-27 | 運転支援装置及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024181312A1 true WO2024181312A1 (ja) | 2024-09-06 |
Family
ID=92590533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2024/006587 WO2024181312A1 (ja) | 2023-02-27 | 2024-02-22 | 運転支援装置及びコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024121486A (ja) |
WO (1) | WO2024181312A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015111463A (ja) * | 2015-03-11 | 2015-06-18 | 日本電気株式会社 | 走行支援装置、走行支援方法、及びプログラム |
JP2018095149A (ja) * | 2016-12-15 | 2018-06-21 | 本田技研工業株式会社 | 軌道評価装置、軌道評価方法、および軌道評価プログラム |
JP2018154200A (ja) * | 2017-03-16 | 2018-10-04 | 本田技研工業株式会社 | 経路決定装置、車両制御装置、経路決定方法、およびプログラム |
WO2020136385A1 (ja) * | 2018-12-28 | 2020-07-02 | 日産自動車株式会社 | 運転支援方法及び運転支援装置 |
JP2022083525A (ja) * | 2020-11-25 | 2022-06-06 | 株式会社アイシン | 運転支援装置及びコンピュータプログラム |
-
2023
- 2023-02-27 JP JP2023028623A patent/JP2024121486A/ja active Pending
-
2024
- 2024-02-22 WO PCT/JP2024/006587 patent/WO2024181312A1/ja unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015111463A (ja) * | 2015-03-11 | 2015-06-18 | 日本電気株式会社 | 走行支援装置、走行支援方法、及びプログラム |
JP2018095149A (ja) * | 2016-12-15 | 2018-06-21 | 本田技研工業株式会社 | 軌道評価装置、軌道評価方法、および軌道評価プログラム |
JP2018154200A (ja) * | 2017-03-16 | 2018-10-04 | 本田技研工業株式会社 | 経路決定装置、車両制御装置、経路決定方法、およびプログラム |
WO2020136385A1 (ja) * | 2018-12-28 | 2020-07-02 | 日産自動車株式会社 | 運転支援方法及び運転支援装置 |
JP2022083525A (ja) * | 2020-11-25 | 2022-06-06 | 株式会社アイシン | 運転支援装置及びコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2024121486A (ja) | 2024-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7347522B2 (ja) | 運転支援装置及びコンピュータプログラム | |
JP7505448B2 (ja) | 運転支援装置 | |
JP7439529B2 (ja) | 運転支援装置及びコンピュータプログラム | |
WO2022085320A1 (ja) | 運転支援装置及びコンピュータプログラム | |
JP7528450B2 (ja) | 運転支援装置及びコンピュータプログラム | |
WO2022044486A1 (ja) | 運転支援装置及びコンピュータプログラム | |
WO2021256439A1 (ja) | 運転支援装置及びコンピュータプログラム | |
JP2023097308A (ja) | 運転支援装置及びコンピュータプログラム | |
JP7552288B2 (ja) | 運転支援装置及びコンピュータプログラム | |
JP7533279B2 (ja) | 経路探索装置及びコンピュータプログラム | |
JP7501039B2 (ja) | 運転支援装置及びコンピュータプログラム | |
JP2023050431A (ja) | 運転支援装置及びコンピュータプログラム | |
WO2024181312A1 (ja) | 運転支援装置及びコンピュータプログラム | |
WO2024162349A1 (ja) | 運転支援装置及びコンピュータプログラム | |
WO2024048073A1 (ja) | 運転支援装置及びコンピュータプログラム | |
WO2024048074A1 (ja) | 運転支援装置及びコンピュータプログラム | |
JP7484317B2 (ja) | 運転支援装置及びコンピュータプログラム | |
EP4404171A1 (en) | Driving assistance device and computer program | |
JP2024078764A (ja) | 運転支援装置及びコンピュータプログラム | |
JP2024078833A (ja) | 運転支援装置及びコンピュータプログラム | |
JP2023140801A (ja) | 運転支援装置及びコンピュータプログラム | |
JP2023080504A (ja) | 運転支援装置及びコンピュータプログラム | |
CN116868252A (zh) | 驾驶辅助装置以及计算机程序 | |
CN118435254A (zh) | 驾驶辅助装置及计算机程序 |