Autonomous driving control system and method based on intersection complexity

The intersection complexity is evaluated and processed through the intersection navigation system, and the vehicle behavior and sensing resources are adjusted, the complexity problem of autonomous vehicles in intersection navigation is solved, and the navigation success rate and safety are improved.

CN114604265BActive Publication Date: 2025-01-14GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110527236.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-03
Filing Date
2021-05-14
Publication Date
2025-01-14
Estimated Expiration
2041-05-14

AI Technical Summary

Technical Problem

Autonomous vehicles face complexity problems in intersection navigation, including different types of traffic lights, turning possibilities, differences in crosswalks and traffic flow patterns, resulting in difficulty in navigation, and the existing technology is difficult to effectively evaluate and deal with these complexities, affecting the success of navigation. Rate.

Method used

The intersection navigation system is adopted to evaluate the complexity value of the intersection through the complexity module. The driving control module adjusts the steering, braking and acceleration of the vehicle according to the complexity value, and disables autonomous driving when necessary, triggering the driver to drive manually or remotely. Driving, adjust sensor fusion to optimize navigation.

Benefits of technology

The success rate and safety of autonomous vehicles navigating at intersections is improved, and the reliability and efficiency of navigation are enhanced by dynamically adjusting vehicle behavior and sensing resources to avoid or deal with complex intersections.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114604265B_ABST
    Figure CN114604265B_ABST
Patent Text Reader

Abstract

The present invention relates to an intersection navigation system. The intersection navigation system comprises: a complexity module configured to determine a complexity value of an intersection of two or more roads, wherein the complexity value of the intersection corresponds to a complexity level for a vehicle to navigate the intersection during autonomous driving; and a driving control module configured to: during autonomous driving of the vehicle, control at least one of the following: steering of the vehicle; braking of the vehicle; and acceleration of the vehicle; and selectively adjust at least one aspect of autonomous driving based on the complexity value of the intersection.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] introduction

[0002] The information provided in this section is intended to generally introduce the background of the present disclosure. To the extent described in this section, the work of the currently named inventors and the description that may not qualify as prior art at the time of filing are neither explicitly nor implicitly admitted to be prior art against the present disclosure. Technical Field

[0003] The present disclosure relates to vehicles and, more particularly, to systems and methods for determining intersection complexity and controlling autonomous vehicle operation. Background Art

[0004] The vehicle includes one or more torque-generative devices, such as an internal combustion engine and / or an electric motor.Occupants of the vehicle ride in a passenger cabin (or passenger compartment) of the vehicle.

[0005] The autonomous driving system operates the vehicle completely independently of the human driver. For example, the autonomous driving system controls the vehicle's acceleration, braking, and steering systems independently of the human driver.

[0006] A semi-autonomous driving system partially drives the vehicle independently of a human driver. For example, the semi-autonomous driving system may control the steering system independently of the human driver, while relying on the driver to set a target speed for the semi-autonomous driving system to achieve by controlling the acceleration and braking systems. Summary of the invention

[0007] In a feature, an intersection navigation system includes: a complexity module configured to determine a complexity value for an intersection of two or more roads, wherein the complexity value of the intersection corresponds to a complexity level for a vehicle to navigate the intersection during autonomous driving; and a driving control module configured to: during autonomous driving of the vehicle, control at least one of: steering of the vehicle; braking of the vehicle; and acceleration of the vehicle; and based on the complexity value of the intersection, selectively adjust at least one aspect of the autonomous driving.

[0008] In further features, the driving control module is configured to selectively adjust a route of the vehicle based on a complexity value of the intersection.

[0009] In further features, the driving control module is configured to remove the intersection from the route when the complexity value of the intersection is greater than a predetermined value.

[0010] In further features, the driving control module is configured to selectively disable autonomous driving and trigger manual driving by a driver of the vehicle based on a complexity value of the intersection.

[0011] In further features, the driving control module is configured to selectively disable autonomous driving and trigger manual driving by a vehicle driver when a complexity value of the intersection is greater than a predetermined value.

[0012] In further features, the driving control module is configured to selectively disable autonomous driving and trigger driving of the vehicle by a driver remote from the vehicle based on a complexity value of the intersection.

[0013] In further features, the driving control module is configured to selectively disable autonomous driving and trigger driving of the vehicle by a driver remote from the vehicle when the complexity value of the intersection is greater than a predetermined value.

[0014] In further features, the driving control module is configured to adjust at least one aspect of the sensor fusion based on a complexity value of the intersection.

[0015] In further features, the driving control module is configured to adjust at least one aspect of the sensor fusion when the complexity value of the intersection is greater than a predetermined value.

[0016] In further features, the complexity module is configured to determine a complexity value for the intersection based on a sensing capability of the vehicle.

[0017] In further features, the sensing capabilities of the vehicle include the number and type of external cameras and sensors of the vehicle.

[0018] In further features, the complexity module is configured to determine the complexity value of the intersection based on whether the vehicle will proceed straight through the intersection, turn right at the intersection, or turn left at the intersection.

[0019] In further features, the complexity module is configured to determine a complexity value for the intersection based on historical data of incidents at the intersection.

[0020] In further features, the historical data of incidents at the intersection includes a number of incidents at the intersection over a predetermined time period.

[0021] In further features, the complexity module is configured to determine a complexity value for the intersection based on geographic characteristics of the intersection.

[0022] In further features, the complexity module is configured to determine a complexity value for the intersection based on a topography of the intersection.

[0023] In further features, the complexity module is configured to determine the complexity value of the intersection based on a second complexity value of the intersection received from the second vehicle.

[0024] In further features, the complexity module is configured to determine the complexity value of the intersection based on current weather at the intersection.

[0025] In further features, the complexity module is configured to determine a complexity value for the intersection based on current traffic at the intersection.

[0026] In a feature, an intersection navigation method includes: determining a complexity value for an intersection of two or more roads, wherein the complexity value of the intersection corresponds to a complexity level for a vehicle to navigate the intersection during autonomous driving; during autonomous driving of the vehicle, controlling at least one of: steering of the vehicle; braking of the vehicle; and acceleration of the vehicle; and selectively adjusting at least one aspect of the autonomous driving based on the complexity value of the intersection.

[0027] The present invention provides the following technical solutions:

[0028] 1. An intersection navigation system, comprising:

[0029] a complexity module configured to determine a complexity value for an intersection of two or more roads,

[0030] wherein the complexity value of the intersection corresponds to a complexity level for a vehicle to navigate the intersection during autonomous driving; and

[0031] A driving control module configured to:

[0032] During autonomous driving of the vehicle, controlling at least one of the following:

[0033] steering of the vehicle;

[0034] braking of the vehicle; and

[0035] the acceleration of the vehicle; and

[0036] At least one aspect of autonomous driving is selectively adjusted based on the complexity value of the intersection.

[0037] 2. The intersection navigation system according to technical solution 1, wherein the driving control module is configured to selectively adjust the route of the vehicle based on the complexity value of the intersection.

[0038] 3. The intersection navigation system according to Technical Solution 2, wherein the driving control module is configured to: remove the intersection from the route when the complexity value of the intersection is greater than a predetermined value.

[0039] 4. The intersection navigation system according to technical solution 1, wherein the driving control module is configured to: selectively disable the autonomous driving and trigger manual driving of the vehicle driver based on the complexity value of the intersection.

[0040] 5. An intersection navigation system according to technical solution 4, wherein the driving control module is configured to: selectively disable the autonomous driving and trigger manual driving by the driver of the vehicle when the complexity value of the intersection is greater than a predetermined value.

[0041] 6. An intersection navigation system according to technical solution 1, wherein the driving control module is configured to: selectively disable the autonomous driving based on the complexity value of the intersection, and trigger a driver away from the vehicle to drive the vehicle.

[0042] 7. An intersection navigation system according to Technical Solution 6, wherein the driving control module is configured to: selectively disable autonomous driving and trigger a driver away from the vehicle to drive the vehicle when the complexity value of the intersection is greater than a predetermined value.

[0043] 8. The intersection navigation system according to technical solution 1, wherein the driving control module is configured to: adjust at least one aspect of sensor fusion based on the complexity value of the intersection.

[0044] 9. An intersection navigation system according to technical solution 8, wherein the driving control module is configured to: adjust at least one aspect of the sensor fusion when the complexity value of the intersection is greater than a predetermined value.

[0045] 10. The intersection navigation system according to technical solution 1, wherein the complexity module is configured to determine the complexity value of the intersection based on the sensing capability of the vehicle.

[0046] 11. An intersection navigation system according to technical solution 10, wherein the sensing capabilities of the vehicle include the number and type of external cameras and sensors of the vehicle.

[0047] 12. An intersection navigation system according to technical solution 1, wherein the complexity module is configured to determine the complexity value of the intersection based on whether the vehicle will go straight through the intersection, turn right at the intersection, or turn left at the intersection.

[0048] 13. An intersection navigation system according to Technical Solution 1, wherein the complexity module is configured to determine the complexity value of the intersection based on historical data of accidents at the intersection.

[0049] 14. An intersection navigation system according to technical solution 13, wherein the historical data of accidents at the intersection includes the number of accidents at the intersection within a predetermined time period.

[0050] 15. The intersection navigation system according to technical solution 1, wherein the complexity module is configured to: determine the complexity value of the intersection based on the geographical features of the intersection.

[0051] 16. An intersection navigation system according to technical solution 15, wherein the complexity module is configured to determine the complexity value of the intersection based on the terrain of the intersection.

[0052] 17. The intersection navigation system according to technical solution 1, wherein the complexity module is configured to determine the complexity value of the intersection based on a second complexity value of the intersection received from a second vehicle.

[0053] 18. The intersection navigation system according to technical solution 1, wherein the complexity module is configured to determine the complexity value of the intersection based on the current weather at the intersection.

[0054] 19. The intersection navigation system according to Technical Solution 1, wherein the complexity module is configured to determine the complexity value of the intersection based on current traffic at the intersection.

[0055] 20. An intersection navigation method, comprising:

[0056] Determine the complexity value of an intersection of two or more roads,

[0057] wherein the complexity value of the intersection corresponds to a complexity level for the vehicle to navigate the intersection during autonomous driving;

[0058] During autonomous driving of the vehicle, control at least one of the following:

[0059] steering of the vehicle;

[0060] braking of the vehicle; and

[0061] the acceleration of the vehicle; and

[0062] At least one aspect of autonomous driving is selectively adjusted based on the complexity value of the intersection.

[0063] Further areas of applicability of the present disclosure will become apparent from the detailed description, claims and drawings.The detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0064] The present disclosure will be more fully understood from the detailed description and accompanying drawings, in which:

[0065] Figure 1 is a functional block diagram of an example vehicle system;

[0066] Figure 2 is a functional block diagram of a vehicle, including examples of external sensors and cameras;

[0067] Figure 3 is a functional block diagram of an example implementation of a driver module;

[0068] Figure 4 is a functional block diagram of an example complexity system;

[0069] Figure 5 is a functional block diagram of an example server;

[0070] Figure 6 are flow charts respectively depicting example methods of determining a complexity value for an intersection; and

[0071] Figure 7 is a flow chart depicting an example method for vehicle control based on intersection complexity.

[0072] In the drawings, reference numerals may be repeated to identify similar and / or identical elements. DETAILED DESCRIPTION

[0073] The vehicle may include one or more cameras and / or one or more sensors and one or more other features that may be used for autonomous driving. The control module may determine whether to enable or disable autonomous driving.

[0074] Navigating intersections can be a more difficult task for autonomous vehicles. For example, intersections have different types of traffic lights, different turning possibilities, different crosswalks, different traffic flow patterns, etc. The differences between intersections make autonomous navigation at intersections even more difficult.

[0075] The present application relates to determining a complexity value of an intersection for a vehicle respectively. The complexity value of an intersection may correspond to a complexity level of the vehicle autonomously navigating the intersection.

[0076] One or more actions may be taken based on the complexity level of the intersection. For example, intersections with some complexity values ​​may be omitted from the vehicle's route so that the vehicle avoids attempting to autonomously cross the intersection. As another example, for intersections with some complexity values, remote driving or manual driving of the driver may be triggered to navigate these intersections. As another example, computing and / or sensing resources may be adjusted for intersections with some complexity values ​​to allow the vehicle to successfully autonomously navigate those intersections. The complexity value of the intersection increases the likelihood of successful intersection navigation.

[0077] Reference now Figure 1 , presents a functional block diagram of an example vehicle system. Although a vehicle system for a hybrid vehicle is shown and will be described, the present disclosure is also applicable to non-hybrid vehicles, electric vehicles, fuel cell vehicles, and other types of vehicles.

[0078] The engine 102 may combust an air / fuel mixture to generate drive torque. An engine control module (ECM) 106 controls the engine 102. For example, the ECM 106 may control actuation of engine actuators such as a throttle, one or more spark plugs, one or more fuel injectors, valve actuators, camshaft phasers, an exhaust gas recirculation (EGR) valve, one or more boost devices, and other suitable engine actuators.

[0079] The engine 102 may output torque to a transmission 110. A transmission control module (TCM) 114 controls operation of the transmission 110. For example, the TCM 114 may control gear selection within the transmission 110 and one or more torque transmitting devices (eg, a torque converter, one or more clutches, etc.).

[0080] The vehicle system may include one or more electric motors. For example, electric motor 118 may be implemented within transmission 110, such as Figure 1 As shown in the example of . At a given time, the electric motor can act as both a generator and a motor. When acting as a generator, the electric motor converts mechanical energy into electrical energy. The electrical energy can be used, for example, to charge the battery 126 via the power control device (PCD) 130. When acting as a motor, the electric motor generates torque that can be used, for example, to supplement or replace the torque output by the engine 102. Although an example of an electric motor is provided, the vehicle can include zero or more than one electric motor.

[0081] A power inverter module (PIM) 134 may control the electric motor 118 and the PCD 130. The PCD 130 applies (e.g., direct current) power from the battery 126 to the (e.g., alternating current) electric motor 118, and the PCD 130 provides power output by the electric motor 118 to, for example, the battery 126. In various implementations, the PIM 134 may be referred to as an inverter module.

[0082] The steering control module 140 controls the steering / rotation of the vehicle wheels, for example, based on the driver's rotation of a steering wheel within the vehicle and / or steering commands from one or more vehicle control modules. A steering wheel angle sensor (SWA) monitors the rotational position of the steering wheel and generates SWA 142 based on the position of the steering wheel. As an example, the steering control module 140 can control the vehicle steering through the EPS motor 144 based on the SWA 142. However, the vehicle may include another type of steering system.

[0083] An electronic brake control module (EBCM) 150 can selectively control the brakes 154 of the vehicle. The modules of the vehicle can share parameters via a network 162, such as a controller area network (CAN) and / or other suitable types of networks. CAN may also be referred to as a car area network. The network 162 may include one or more data buses. A given control module may provide various parameters to other control modules via the CAN 162.

[0084] The driver input may include, for example, an accelerator pedal position (APP) 166, which may be provided to the ECM 106. A brake pedal position (BPP) 170 may be provided to the EBCM 150. A position 174 of the park, reverse, neutral, drive lever (PRNDL) may be provided to the TCM 114. An ignition state 178 may be provided to a body control module (BCM) 180. For example, the ignition state 178 may be input by the driver via an ignition key, button, or switch. At a given time, the ignition state 178 may be one of off, auxiliary, run, or start.

[0085] The vehicle system may include an infotainment module 182. The infotainment module 182 may control content displayed on a display 184. In various embodiments, the display 184 may be a touch screen display, and signals indicative of user inputs to the display 184 are transmitted to the infotainment module 182. The infotainment module 182 may additionally or alternatively receive signals indicative of user inputs from one or more other user input devices 185, such as one or more switches, buttons, knobs, etc.

[0086] The infotainment module 182 may receive input from a number of external sensors and cameras, typically such as Figure 1As shown at 186 . For example, the infotainment module 182 may display video, various views, and / or alerts on the display 184 via input from external sensors and the camera 186 .

[0087] The infotainment module 182 may also generate outputs through one or more other devices. For example, the infotainment module 182 may output sounds through one or more speakers 190 of the vehicle. The vehicle may include one or more additional control modules not shown, such as a chassis control module, a battery pack control module, etc. The vehicle may omit one or more of the control modules shown and discussed.

[0088] Input from external sensors and cameras 186 may also be used to control autonomous driving, determine the complexity of an intersection, and / or for one or more other purposes.

[0089] The global positioning system (GPS) module 191 receives GPS data (e.g., current location, such as coordinates) from a GPS system. The driver monitoring module 192 includes one or more devices configured to monitor one or more characteristics of a vehicle driver. For example, the driver monitoring module 192 may include one or more cameras configured to capture images of the driver and the vehicle passenger compartment, for example, to determine facial expressions, one or more gestures, hand placement, and other driver information based on the images.

[0090] The V2X module 193 communicates with other vehicles via a vehicle-to-vehicle (V2V) communication protocol, and / or communicates with infrastructure via a vehicle-to-infrastructure (V2I) communication protocol. V2V communication and V2I communication may be more generally referred to as V2X communication. The V2X module 193 receives information from other vehicles and / or infrastructure components from other vehicles and / or infrastructure.

[0091] Reference now Figure 2 , presents a functional block diagram of a vehicle including an example of external sensors and cameras. External sensors and cameras 186 include various cameras positioned to capture images and video of the outside (exterior) of the vehicle, and various types of sensors that measure parameters of the outside (exterior) of the vehicle. For example, forward-facing camera 204 captures images and video of images within a predetermined field of view (FOV) 206 in front of the vehicle.

[0092] The front camera 208 may also capture images and video within a predetermined FOV 210 in front of the vehicle. The front camera 208 may capture images and video within a predetermined distance in front of the vehicle and may be located in front of the vehicle (e.g., in a front fascia, grille, or bumper). The front-facing camera 204 may be located further back, such as a rearview mirror within a vehicle windshield. The front-facing camera 204 may not be able to capture images and video of items within all or at least a portion of the predetermined FOV of the front camera 208, and may capture images and video greater than a predetermined distance in front of the vehicle. In various embodiments, only one of the front-facing camera 204 and the front camera 208 may be included.

[0093] The rear camera 212 captures images and videos within a predetermined FOV 214 behind the vehicle. The rear camera 212 can capture images and videos within a predetermined distance behind the vehicle and can be located at the rear of the vehicle, such as near a rear license plate. The right camera 216 captures images and videos within a predetermined FOV 218 on the right side of the vehicle. The right camera 216 can capture images and videos within a predetermined distance on the right side of the vehicle and can be located, for example, below the right side mirror. In various embodiments, the right side mirror can be omitted, and the right camera 216 can be located near where the right side mirror is usually located. The left camera 220 captures images and videos within a predetermined FOV 222 on the left side of the vehicle. The left camera 220 can capture images and videos within a predetermined distance on the left side of the vehicle and can be located, for example, below the left side mirror. In various embodiments, the left side mirror can be omitted, and the left camera 220 can be located near where the left side mirror is usually located. Although the example FOVs are shown for illustrative purposes, the FOVs can overlap, for example, for more accurate and / or more comprehensive stitching.

[0094] The external sensors and cameras 186 also include various other types of sensors, such as radar sensors, light detection and ranging (LIDAR) sensors 250, etc. For example, the vehicle may include one or more forward-facing radar sensors (such as forward-facing radar sensors 226 and 230), one or more rear-facing radar sensors (such as rear-facing radar sensors 234 and 238). The vehicle may also include one or more right-side radar sensors (such as right-side radar sensor 242), and one or more left-side radar sensors (such as left-side radar sensor 246). The positions and fields of view of the cameras and radar sensors are provided only as examples, and different positions and fields of view may be used. The radar sensors output radar signals around the vehicle. Objects around the vehicle may be detected based on input from the external sensors and cameras 186.

[0095] Figure 3A functional block diagram of an example implementation of the drive module 304 is included. As described above, when autonomous driving is not performed, the steering control module 140 controls the steering of the vehicle based on the SWA 142, and the EBCM 150 controls braking based on the BPP 170. In addition, the acceleration control module 308 controls acceleration and deceleration of the vehicle based on the APP 166 and / or one or more other inputs. The acceleration control module 308 can control acceleration and deceleration through at least one of the ECM 106 (controlling the torque of the engine 102) and the TCM 114 (controlling the torque of the electric motor 118).

[0096] The autonomous module 312 controls the steering, acceleration and deceleration, and braking of the vehicle during autonomous driving of the vehicle. For example, the sensor fusion module 314 can fuse data from the external cameras and sensors 186 together, and can detect features and objects around the vehicle based on input from the external cameras and sensors 186. The autonomous module 312 can control steering, acceleration, and deceleration based on the features and objects, such as to avoid any detected objects.

[0097] However, during autonomous driving, the steering control module 140 may override inputs from the autonomous module 312 and control steering based on the SWA 142. Additionally, the acceleration control module 308 may override inputs from the autonomous module 312 and control acceleration and deceleration based on the APP 166, and the EBCM 150 may override inputs from the autonomous module 312 and control braking based on the BPP 170.

[0098] The driving control module 316 controls whether autonomous driving is performed, and if so, the extent of the autonomous driving. The driving control module 316 may control whether autonomous driving is performed, and if so, the extent of the autonomous driving, based on, for example, input 320 from the sensor fusion module 314 (generated based on input from the external cameras and sensors 186), input 324 from the driver monitoring module 192, V2X data 328 from the V2X module 193, and / or other data.

[0099] As discussed further below, the complexity values ​​of intersections that the vehicle may encounter are determined respectively. The complexity value of the intersection can correspond to the complexity of navigating the intersection during autonomous driving. The driving control module 316 can take one or more actions based on the complexity value of the intersection. For example, the driving control module 316 can adjust the route of the vehicle so that the vehicle will not encounter an intersection, reallocate existing computing resources (e.g., place more processing priority to the direction of interest), allocate additional computing resources (e.g., processor cores, such as on-board processor cores or non-on-board / server processor cores) and / or additional sensing resources (e.g., adjust the sampling rate of one or more external cameras and / or sensors) to the sensor fusion module 314, trigger the sensor fusion module 314 to focus on one or more fields of view or areas around the vehicle, trigger the remote driver to remotely drive the vehicle, or prompt the vehicle driver to take over one or more aspects of driving to navigate the intersection. Other actions are also possible.

[0100] Figure 4 is a functional block diagram of an example complexity system. Figure 4 The vehicle 400 includes a transceiver module 404 ( Figure 3 ), which communicates with the server 408 via a network 412 (such as, including the Internet). The vehicle 400 transmits various information to the server 408 for determining the complexity value of one or more intersections, such as intersections in the current route of the vehicle 400 or the next intersection that the vehicle 400 will encounter. Examples of information that the vehicle 400 can transmit include information from the sensor fusion module 314, an identifier of the vehicle 400 (e.g., a vehicle identification number (VIN)), the current position and heading of the vehicle 400 (e.g., from the GPS module 191), and quality indicators of various parameters of the vehicle (e.g., mapping, GPS service, wireless connection, etc.). Other parameters can also be transmitted to the server 408.

[0101] As discussed further below, the server 408 determines a complexity value for the intersection based on the received information and other information. The server 408 transmits the complexity value for the intersection back to the vehicle 400. As discussed above, the driving control module 316 takes one or more actions based on the complexity value for the intersection.

[0102] For example, the complexity value may range from 0 for the least complex intersection to 100 for the most complex intersection. Other suitable complexity values ​​or indicators may be used. When the complexity value of the intersection is greater than a first predetermined value, the driving control module 316 may change the route of the vehicle 400 so that the vehicle 400 will not travel through the intersection. When the complexity value of the intersection is greater than a second predetermined value that is less than the first predetermined value, the driving control module 316 may trigger remote driving or prompt the driver of the vehicle to take over control of the vehicle 400 to navigate the intersection and end autonomous driving. To prompt the driver to take over control of the vehicle 400, the driving control module 316 may provide a driver output device 416 ( Figure 3 ) generates one or more alerts. For example, the driving control module 316 can output a visual indicator through one or more visual indicators (such as the display 184) for the driver to take over control of the vehicle 400. Additionally or alternatively, the driving control module 316 can output one or more auditory indicators for the driver to take over control of the vehicle 400, such as through the speaker 190.

[0103] When the complexity value of the intersection is greater than a third predetermined value that is less than the second predetermined value, the driving control module 316 may reallocate existing computing resources (e.g., place more processing priority toward the direction of interest), allocate additional computing resources (e.g., processor cores, such as onboard / vehicle or off-board / server processor cores), and / or additional sensing resources (e.g., adjust the sampling rate of one or more external cameras and / or sensors) to the sensor fusion module 314, and / or trigger the sensor fusion module 314 to focus on one or more fields of view or areas around the vehicle. When the complexity value of the intersection is less than the third predetermined value, the driving control module 316 may take no action and allow the autonomous module 312 to control navigation of the intersection based on the input.

[0104] Figure 5 is a functional block diagram of an example implementation of the server 408. The complexity module 504 determines a complexity value 506 for the intersection based on various inputs. The complexity module 504 can determine the complexity value 506 for the intersection using one or more lookup tables and / or equations that relate inputs to complexity values.

[0105] The first input includes sensing capabilities 508 of the vehicle 400. The capabilities module 512 determines the sensing capabilities 508 of the vehicle 400 based on a unique identifier (e.g., VIN) 516 of the vehicle 400, such as transmitted by the vehicle 400. The sensing capabilities 508 may indicate which external cameras and / or sensors the vehicle 400 includes. For example, the sensing capabilities 508 may indicate that the vehicle 400 includes only one or more cameras, or that the vehicle 400 includes one or more cameras and a LIDAR sensor, etc.

[0106] The second input includes how the vehicle 400 will interact with the intersection 520. The interaction 520 may include, for example, whether the vehicle 400 will turn left, turn right, or go straight at the intersection and the direction (e.g., north, east, south, west) that the vehicle 400 will approach the intersection. The interaction module 524 may determine the interaction 520, for example, based on the location and heading 528 of the vehicle 400, such as received from the vehicle 400. The interaction module 524 may further determine the interaction 520 based on the route of the vehicle 400, such as received from the vehicle 400 or determined by the server 408.

[0107] The third input includes historical data 532 about the intersection. The historical data 532 may include, for example, the number of accidents at the intersection within the last predetermined time period, the frequency of accidents, and / or one or more other suitable parameters. The history module 536 may obtain the historical data 532 for the intersection from one or more remote data sources, such as a database maintained by the Department of Transportation (DOT) or another suitable accident event database detected and maintained by, for example, a vehicle manufacturer.

[0108] The fourth input includes intersection feature data 540. The intersection feature data 540 may include, for example, the geometry of the intersection, the topology of the intersection, the intersection angle of the roads at the intersection, and one or more other physical features of the intersection. The feature module 544 may obtain the intersection feature data 540 from one or more remote data sources, such as a database maintained by a DOT.

[0109] A fifth input includes a complexity value 548 for the intersection from one or more other vehicles. The complexity value 548 may be received from the other vehicles, for example, using vehicle-to-vehicle (V2V) communication or other suitable type of communication.

[0110] The sixth input includes current weather conditions 552 at the intersection. The weather conditions 552 at the intersection can be obtained from a remote weather source (e.g., weather station data), such as based on the city, zip code, or location of the intersection. The weather conditions can additionally or alternatively be obtained from aggregated connected vehicle data, such as through V2X communications with other vehicles and / or infrastructure.

[0111] The seventh input includes current traffic conditions 556 at the intersection. Current traffic conditions 556 may include, for example, an indicator of whether there are one or more accidents at the intersection, whether there is construction at the intersection, an indicator of the amount of traffic at the intersection (e.g., low, medium, high, etc.), and / or other traffic information at the intersection. Traffic conditions 556 may be obtained, for example, from a traffic source, such as based on the location of the intersection.

[0112] Although an example of input is provided, the complexity module 504 can additionally or alternatively determine the complexity value 506 of the intersection based on one or more other types of data. The transceiver module 560 transmits the complexity value 506 to the vehicle 400 via the network 412 for use by the vehicle 400 as discussed above. In an example of triggering remote driving, the vehicle 400 can transmit video (e.g., from one or more external cameras and sensors 86) to the remote driving source, and the server 408 can transmit steering, acceleration, and braking commands from the remote driving source to the vehicle 400. The autonomous module 312 controls the steering, acceleration, and braking of the vehicle based on the steering, acceleration, and braking commands from the remote driving source.

[0113] In some cases (e.g., when the complexity value 506 is within a predetermined range), the complexity module 504 can transmit the video 564 from the intersection to the vehicle 400 via the transceiver module 560. The complexity module 504 can obtain the video 564 from the intersection, for example, from one or more traffic cameras at the intersection. For example, the autonomous module 312 can use the video 564 to navigate the intersection. Additionally or alternatively, the sensor fusion module 314 can include the video 564 fused with input from the external camera and the sensor 186.

[0114] As an example, the complexity module 504 can determine the complexity value 506 of the intersection using the following equation:

[0115]

[0116] Where r is the complexity value 506, m is the number of inputs, wi is the weight value of the ith of the m inputs, and pi is the complexity factor value of the ith of the m inputs. m is an integer greater than 1. The complexity module 504 may determine the complexity factor value using the following equation:

[0117]

[0118] Where x1, x2, ..., xn are corresponding parameters for complexity factor values. n is an integer greater than or equal to 1. For example, the function can be embodied as a lookup table or an equation. The weight value (wi) can be a predetermined value calibrated, for example, using machine learning or deep learning (e.g., regression). Alternatively, the weight value can be variable.

[0119] The first complexity factor value (p) may be based on the intent and direction of approaching the intersection. The complexity module 504 may determine the first complexity factor based on input parameters, such as whether a left turn based on a green light is possible at the intersection, whether a U-turn is allowed at the intersection, whether a right turn based on a red light is allowed at the intersection, and / or one or more other parameters. The complexity module 504 may determine the first complexity factor value using one or more functions and / or lookup tables that associate the input parameters with the first complexity factor value.

[0120] The second complexity factor value (p) may be based on a static factor. The complexity module 504 may determine the first complexity factor based on input parameters such as: the number of traffic lights at the intersection, the location of traffic lights at the intersection, the number of signs at the intersection, the type of signs at the intersection, the road layout (e.g., geometry) at the intersection, lane markings at the intersection, lane widths, the number of lanes, whether there are roundabouts, obstructions at the intersection, elevation changes at the intersection, road roughness at the intersection, objects that affect sensor performance at the intersection (e.g., radar reflecting objects), flora / buildings at the intersection, whether one or more traffic directions are controlled by a stop sign, whether there are stop pole markings, traffic that obstructs commerce at the intersection, and other parameters. The complexity module 504 may determine the second complexity factor value using one or more functions and / or lookup tables that associate the input parameters with the second complexity factor value.

[0121] The third complexity factor value (p) may be based on a semi-dynamic factor. The complexity module 504 may determine the third complexity factor value based on input parameters such as typical traffic trends at the intersection, smoothness of driver control during maneuvers, road rules at the intersection, presence of construction at the intersection, accident history at the intersection, quality of intersection maps, and other parameters. The complexity module 504 may determine the third complexity factor value using one or more functions and / or lookup tables that relate the input parameters to the second complexity factor value.

[0122] The fourth complexity factor value (p) may be based on a dynamic factor. The complexity module 504 may determine the fourth complexity factor value based on input parameters such as the characteristics of pedestrians, bicyclists, and jaywalkers at the intersection, the quality of wireless connections at the intersection, the lighting at the intersection, the visibility at the intersection, the change in standard surroundings, the ratio of non-autonomous cars to autonomous cars, and other parameters. The complexity module 504 may determine the fourth complexity factor value using one or more functions and / or lookup tables that associate the input parameters with the second complexity factor value.

[0123] As described above, the complexity module 504 determines the complexity value 506 for the intersection based on the first, second, third, and fourth complexity factor values.

[0124] Figure 6 is a flow chart depicting an example method of determining a complexity value 506 for an intersection. Control begins at 604, where the complexity module 504 determines the next intersection that the vehicle will encounter. The complexity module 504 can determine the next intersection based on, for example, the location of the vehicle and the heading of the vehicle.

[0125] At 608, the complexity module 504 receives input for determining the complexity value 604 for the intersection. As described above, at 612, the complexity module 504 determines a complexity factor value for the intersection.

[0126] At 616, the complexity module 504 determines a weight value for the complexity factor value, such as from a memory. At 620, the complexity module 504 determines the complexity value 506 based on the complexity value factor and the weight value, as described above. At 624, the complexity module 504 transmits the complexity value 506 to the vehicle 400 via the transceiver module 560.

[0127] Figure 7 is a flow chart depicting an example method of vehicle control based on the complexity of an intersection. Although an example order and arrangement of predetermined values ​​are provided, a different relationship and / or a different order of predetermined values ​​may be used.

[0128] Control may begin at 704, where the driving control module 316 receives the complexity value 506 for the intersection. At 708, the driving control module 316 may determine whether the complexity value is greater than a first predetermined value. If 708 is true, then at 712, the driving control module 316 may change the current route of the vehicle so that the vehicle will not travel through the intersection (and avoid the intersection), and control may return to 704. If 708 is false, control may continue to 716.

[0129] At 716, the driving control module 316 may determine whether the complexity value 506 is greater than a second predetermined value. If 716 is true, at 720, the driving control module 316 may trigger the driver to take over control of the vehicle (and disable autonomous driving once the driver takes over control). Alternatively, at 720, the driving control module 316 may trigger remote driving of the vehicle. If 716 is false, control may continue to 724.

[0130] At 724, the driving control module 316 can determine whether the complexity value 506 is greater than the third predetermined value. If 724 is true, the driving control module 316 can adjust one or more aspects of the sensor fusion performed by the sensor fusion module 314 at 728. For example, the sensor fusion module 314 can focus on one or more areas or aspects of the intersection. The driving control module 316 can continue autonomous driving. If 724 is false, the driving control module 316 can continue autonomous driving at 732.

[0131] The above description is merely illustrative in nature and is in no way intended to limit the present disclosure, its application or use. The broad teachings of the present disclosure can be implemented in a variety of forms. Therefore, although the present disclosure includes specific examples, the true scope of the present disclosure should not be limited thereto, because other modifications will become apparent after studying the drawings, the specification, and the following claims. It should be understood that one or more steps within the method can be performed in different orders (or simultaneously) without changing the principles of the present disclosure. In addition, although each of the embodiments is described above as having certain features, any one or more of those features described with respect to any embodiment of the present disclosure can be implemented in the features of any other embodiment and / or in combination with the features of any other embodiment, even if the combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and the permutation of one or more embodiments with each other remains within the scope of the present disclosure.

[0132] Various terms are used to describe spatial and functional relationships between elements (e.g., between modules, circuit elements, semiconductor layers, etc.), including "connected," "engaged," "coupled," "adjacent," "next to," "on top of," "above," "below," and "disposed." Unless explicitly described as "directly," when describing a relationship between a first element and a second element in the above disclosure, the relationship may be a direct relationship in which no other intermediate elements exist between the first element and the second element, but may also be an indirect relationship in which one or more intermediate elements exist between the first and second elements (either spatially or functionally). As used herein, the phrase at least one of A, B, and C should be interpreted to mean a logical (A or B or C) using a non-exclusive logical "or," and should not be interpreted to mean "at least one of A, at least one of B, and at least one of C."

[0133] In the figures, the direction of the arrow indicated by the arrow generally represents the flow of information (such as data or instructions) of interest to the illustration. For example, when element A and element B exchange various information, but the information transmitted from element A to element B is relevant to the illustration, the arrow may point from element A to element B. This unidirectional arrow does not imply that there is no other information transmitted from element B to element A. In addition, for information sent from element A to element B, element B may send a request for the information or a confirmation of receipt of the information to element A.

[0134] In this application, including the following definitions, the term "module" or the term "controller" may be replaced with the term "circuit". The term "module" may refer to, be part of, or include: an application specific integrated circuit (ASIC); a digital, analog, or hybrid analog / digital discrete circuit; a digital, analog, or hybrid analog / digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or grouped) that executes code; a memory circuit (shared, dedicated, or grouped) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.

[0135] The module may include one or more interface circuits. In some examples, the interface circuit may include a wired or wireless interface connected to a local area network (LAN), the Internet, a wide area network (WAN), or a combination thereof. The functionality of any given module of the present disclosure may be distributed among multiple modules connected by the interface circuits. For example, multiple modules may allow load balancing. In a further example, a server (also known as a remote server, or cloud server) module may perform certain functions on behalf of a client module.

[0136] As used above, the term code may include software, firmware, and / or microcode, and may refer to a program, a routine, a function, a class, a data structure, and / or an object. The term shared processor circuit encompasses a single processor circuit that executes some or all of the code from multiple modules. The term grouped processor circuit encompasses a processor circuit that combines with another processor circuit to execute some or all of the code from one or more modules. Reference to multiple processor circuits encompasses multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above. The term shared memory circuit encompasses a single memory circuit that stores some or all of the code from multiple modules. The term grouped memory circuit encompasses a memory circuit that combines with additional memory to store some or all of the code from one or more modules.

[0137] The term memory circuit is a subset of the term computer-readable medium. As used herein, the term computer-readable medium does not encompass transient electrical or electromagnetic signals propagated through the medium (such as on a carrier wave); the term computer-readable medium may therefore be considered to be tangible and non-transitory. Non-limiting examples of non-transitory tangible computer-readable media are: non-volatile memory circuits (such as flash memory circuits, erasable programmable read-only memory circuits, or mask read-only memory circuits), volatile memory circuits (such as static random access memory circuits or dynamic random access memory circuits), magnetic storage media (such as analog or digital tapes or hard drives), and optical storage media (such as CDs, DVDs, or Blu-ray discs).

[0138] The apparatus and methods described in this application may be implemented in part or in whole by a special-purpose computer, which is created by configuring a general-purpose computer to perform one or more specific functions embodied in a computer program. The functional blocks, flow chart components, and other elements described above are used as software specifications, which can be translated into computer programs by routine operations of those skilled in the art or programmers.

[0139] The computer program includes processor executable instructions stored on at least one non-transitory, tangible computer readable medium. The computer program may also include or rely on stored data. The computer program may include a basic input / output system (BIOS) that interacts with the hardware of the special-purpose computer, device drivers that interact with specific devices of the special-purpose computer, one or more operating systems, user applications, background services, background applications, etc.

[0140] A computer program may include: (i) descriptive text to be parsed, such as HTML (Hypertext Markup Language), XML (Extensible Markup Language), or JSON (JavaScript Object Notation), (ii) assembly code, (iii) object code generated by a compiler from a source code, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. By way of example only, the source code may be written using syntax from the following languages, including: C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language Fifth Edition), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, and Python®.

Claims

1. An intersection navigation system, comprising: a capabilities module configured to determine sensing capabilities of a vehicle based on a vehicle identification number of the vehicle, wherein the sensing capabilities include a number and type of external cameras and sensors of the vehicle; a complexity module configured to determine a complexity value for an intersection of two or more roads based on a sensing capability of the vehicle, wherein the complexity value of the intersection corresponds to a complexity level for a vehicle to navigate the intersection during autonomous driving; and A driving control module configured to: During autonomous driving of the vehicle, controlling at least one of the following: steering of the vehicle; braking of the vehicle; and the acceleration of the vehicle; and At least one aspect of autonomous driving is selectively adjusted based on the complexity value of the intersection.

2. The intersection navigation system according to claim 1, wherein: The driving control module is configured to selectively adjust a route of the vehicle based on a complexity value of the intersection.

3. The intersection navigation system according to claim 2, wherein: The driving control module is configured to remove the intersection from the route when a complexity value of the intersection is greater than a predetermined value.

4. The intersection navigation system according to claim 1, wherein: The driving control module is configured to selectively disable the autonomous driving and trigger manual driving by a vehicle driver based on a complexity value of the intersection.

5. The intersection navigation system according to claim 4, wherein: The driving control module is configured to selectively disable the autonomous driving and trigger manual driving by a driver of the vehicle when a complexity value of the intersection is greater than a predetermined value.

6. The intersection navigation system according to claim 1, wherein: The driving control module is configured to selectively disable the autonomous driving and trigger driving of the vehicle by a driver remote from the vehicle based on a complexity value of the intersection.

7. The intersection navigation system according to claim 6, wherein: The driving control module is configured to selectively disable autonomous driving and trigger driving of the vehicle by a driver away from the vehicle when the complexity value of the intersection is greater than a predetermined value.

8. The intersection navigation system according to claim 1, wherein: The driving control module is configured to adjust at least one aspect of sensor fusion based on a complexity value of the intersection.

9. The intersection navigation system according to claim 8, wherein: The driving control module is configured to adjust at least one aspect of the sensor fusion when a complexity value of the intersection is greater than a predetermined value.

10. The intersection navigation system according to claim 1, wherein: The complexity module is configured to determine a complexity value for the intersection based on whether the vehicle will proceed straight through the intersection, turn right at the intersection, or turn left at the intersection.

11. The intersection navigation system according to claim 1, wherein: The complexity module is configured to determine a complexity value for the intersection based on historical data of incidents at the intersection.

12. The intersection navigation system according to claim 11, wherein: The historical data of accidents at the intersection includes the number of accidents at the intersection within a predetermined time period.

13. The intersection navigation system according to claim 1, wherein: The complexity module is configured to determine a complexity value for the intersection based on geographic features of the intersection.

14. The intersection navigation system according to claim 13, wherein: The complexity module is configured to determine a complexity value for the intersection based on a topography of the intersection.

15. The intersection navigation system according to claim 1, wherein: The complexity module is configured to determine a complexity value for the intersection based on a second complexity value for the intersection received from a second vehicle.

16. The intersection navigation system according to claim 1, wherein: The complexity module is configured to determine a complexity value for an intersection based on current weather at the intersection.

17. The intersection navigation system according to claim 1, wherein: The complexity module is configured to determine a complexity value for the intersection based on current traffic at the intersection.

18. The intersection navigation system according to claim 1, wherein: The complexity module is configured to determine the complexity value of the intersection using the following equation: Where r is the complexity value, m is the number of inputs, and w i is the weight value of the ith input among m, and pi is the complexity factor value of the ith input among m, m is an integer greater than 1, where, pi=f(x1,x2,..,xn), Wherein x1, x2, ..., xn are corresponding parameters for the complexity factor value, and n is an integer greater than or equal to 1.

19. The intersection navigation system according to claim 1, wherein: The complexity module is configured to determining a first complexity factor value based on the intention and direction of approaching the intersection; determining a second complexity factor value based on the static factor; determining a third complexity factor value based on the semi-dynamic factor; A fourth complexity factor value is determined based on the dynamic factor.

20. An intersection navigation method, comprising: determining sensing capabilities of the vehicle based on a vehicle identification number of the vehicle, wherein the sensing capabilities include the number and type of external cameras and sensors of the vehicle; Determine the complexity value of an intersection of two or more roads based on the sensing capabilities of the vehicle, wherein the complexity value of the intersection corresponds to a complexity level for the vehicle to navigate the intersection during autonomous driving; During autonomous driving of the vehicle, control at least one of the following: steering of the vehicle; braking of the vehicle; and the acceleration of the vehicle; and At least one aspect of autonomous driving is selectively adjusted based on the complexity value of the intersection.

Citation Information

Patent Citations

  • Electrical data processing system for determining a navigation route based on the location of a vehicle and generating a recommendation for a vehicle maneuver

    WO2018044785A1