Method for controlling an autonomous vehicle
The method and system for autonomous vehicle control improve decision-making in dynamic traffic scenarios by using rule-based and machine learning models to evaluate and adjust planned movements, addressing the challenges of mid- and short-range interactions with other vehicles and obstacles, thereby enhancing safety and efficiency.
Patent Information
- Application Number
- DE102021111511
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-10-28
- Filing Date
- 2021-05-04
- Publication Date
- 2025-08-07
- Estimated Expiration
- 2041-05-04
AI Technical Summary
Existing autonomous vehicle control systems struggle to effectively plan and execute mid- and short-range behaviors in dynamic traffic scenarios, particularly in interactions with other vehicles and unexpected obstacles, without human intervention.
A method and system for autonomous vehicle control that utilizes a combination of rule-based and machine learning models to evaluate and select optimal behavioral movements based on sensor inputs, considering speed, distance to objects, presence of stop signs, pedestrians, and predicted vehicle behaviors, and adjusts planned movements to account for reactive actions of other vehicles.
Enhances the ability of autonomous vehicles to make informed decisions in real-time traffic scenarios, improving safety and efficiency by selecting the best behavioral controls based on quantitative evaluations and predictive modeling.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] This description relates generally to autonomous vehicles and, more particularly, to systems and methods for forward modeling for behavior control of autonomous vehicles.
[0002] Autonomous vehicles are designed to operate without much interaction from a driver. These vehicles therefore contain systems to control vehicle behavior.
[0003] US 2020 / 0 326 719 A1 describes a control device for generating maneuvering decisions for an ego vehicle in a traffic scenario.
[0004] US 2019 / 0 346 851 A1 describes a computer system that controls an autonomous vehicle.
[0005] It can be considered as a task to provide an improved method for controlling an autonomous vehicle.
[0006] The object is achieved by a method for controlling an autonomous vehicle according to claim 1. Furthermore, an exemplary system is described with which the method can be carried out.
[0007] This specification describes a system and method for behavior planning for autonomous driving. The movement of an autonomous vehicle is often planned in multiple stages, such as long-range route planning, medium-range path planning, lane planning, and short-range adaptive behavior planning to respond to other moving objects or unexpected stationary objects. The system and method presented here enables the control of medium- and short-range behavior, with the autonomous vehicle considering its path and lane planning, including interactions with other vehicles.
[0008] The autonomous vehicle's control system can generate several possible behavioral control movements based on the driving goal and the assessment of the vehicle's environment.
[0009] The method and system presented here selects one of the best behavioral controls from the several possible movements, whereby the selection is based on the quantitative evaluation of the vehicle's driving behavior.
[0010] According to the invention, a method for controlling an autonomous vehicle comprises: receiving, by a controller of the autonomous vehicle, sensor input from a plurality of sensors of the autonomous vehicle; determining a plurality of possible planned movements of the autonomous vehicle in a future using a plurality of autonomous driving techniques and the sensor input from the plurality of sensors; evaluating each of the plurality of possible planned movements to obtain a plurality of scores each corresponding to one of the plurality of possible planned movements, the plurality of scores including a highest score; selecting one of the plurality of possible planned movements that corresponds to the highest score of the plurality of scores; determining a predicted movement of at least one other vehicle based on the selected one of the plurality of possible planned movements;Determining a plurality of possible reactive movements of the autonomous vehicle in the future based on the predicted movement of the at least one other vehicle; modifying the plurality of possible planned movements to include the plurality of possible reactive movements to obtain a plurality of modified planned movements in the future; re-evaluating each of the plurality of modified planned movements to obtain a plurality of updated scores, each corresponding to one of the plurality of modified planned movements, wherein the plurality of updated scores includes a highest updated score; selecting one of the plurality of modified planned movements that corresponds to the highest updated score of the plurality of scores;and instructing the autonomous vehicle, by the controller, to move according to the selected one of the plurality of modified planned movements with the highest updated rating;
[0011] According to the invention, evaluating each of the possible planned movements comprises determining a speed of the autonomous vehicle for each of the plurality of possible planned movements, a distance from the autonomous vehicle to another object for each of the plurality of planned movements, a presence of a stop sign for each of the plurality of planned movements, a distance from the autonomous vehicle to the stop sign for each of the plurality of planned movements, a presence of a pedestrian for each of the plurality of planned movements, and a distance from the autonomous vehicle to the pedestrian for each of the plurality of planned movements.
[0012] According to the invention, evaluating each of the possible planned movements comprises assigning a sub-score to each of the speed of the autonomous vehicle for each of the plurality of planned movements, the distance from the autonomous vehicle to another object for each of the plurality of planned movements, the presence of the stop sign for each of the plurality of planned movements, the distance from the autonomous vehicle to the stop sign for each of the plurality of planned movements, the presence of a pedestrian for each of the plurality of planned movements, and the distance from the autonomous vehicle to the pedestrian for each of the plurality of planned movements to obtain a plurality of sub-movement scores for each of the plurality of planned movements.
[0013] In one embodiment, the plurality of autonomous driving techniques comprises a rule-based model and / or a machine learning tree regression model.
[0014] In one embodiment, each of the plurality of scores is determined as a function of the plurality of partial movement scores. Re-scoring each of the plurality of planned movements includes determining an updated speed of the autonomous vehicle for each of the plurality of modified planned movements, an updated distance from the autonomous vehicle to another object for each of the plurality of modified planned movements, an updated presence of a stop sign for each of the plurality of modified planned movements, an updated distance from the autonomous vehicle to the stop sign for each of the plurality of modified planned movements, an updated presence of a pedestrian for each of the plurality of modified planned movements, and an updated distance from the autonomous vehicle to the pedestrian for each of the plurality of modified planned movements.
[0015] In one embodiment, re-evaluating each of the possible modified movements comprises assigning an updated sub-score to each of the updated speed of the autonomous vehicle for each of the plurality of modified planned movements, the updated distance from the autonomous vehicle to another object for each of the plurality of modified planned movements, the updated presence of the stop sign for each of the plurality of modified planned movements, the updated distance from the autonomous vehicle to the stop sign for each of the plurality of modified planned movements, the updated presence of a pedestrian for each of the plurality of modified planned movements, and the updated distance from the autonomous vehicle to the pedestrian for each of the plurality of modified planned movements,to obtain a plurality of partial modified evaluations for each of the plurality of modified planned movements. The future is 3.5 seconds past a current time. The predicted movement of at least one other vehicle is determined using a kinematic prediction model.
[0016] The present description also describes an exemplary control system for an autonomous vehicle. In one aspect of the present description, the control system includes a plurality of sensors and a controller that communicates with the plurality of sensors. The controller is programmed to: receive inputs from a plurality of sensors of the autonomous vehicle; determine a plurality of possible planned movements of the autonomous vehicle in a future using a plurality of autonomous driving techniques and inputs from the plurality of sensors; evaluate each of the plurality of possible planned movements to obtain a plurality of scores each corresponding to one of the plurality of possible planned movements, the plurality of scores including a highest score; select one of the plurality of possible planned movements that corresponds to the highest score of the plurality of scores;Determining a predicted movement of at least one other vehicle based on the selected one of the plurality of possible planned movements; Determining a plurality of possible reactive movements of the autonomous vehicle in the future based on the predicted movement of the at least one other vehicle; Modifying the plurality of possible planned movements to include the plurality of possible reactive movements to obtain a plurality of modified planned movements in the future; Re-evaluating each of the plurality of modified planned movements to obtain a plurality of updated scores each corresponding to one of the plurality of modified planned movements, wherein the plurality of updated scores includes a highest updated score;and selecting one of the plurality of modified planned movements that corresponds to the highest updated rating of the plurality of ratings; and commanding the autonomous vehicle to move according to the selected one of the plurality of modified planned movements with the highest updated rating.
[0017] For example, the plurality of autonomous driving techniques may include a rule-based model and / or a machine learning tree regression model. The controller ranks each of the possible planned movements by determining, for each of the plurality of possible planned movements, a speed of the autonomous vehicle, for each of the plurality of planned movements, a distance of the autonomous vehicle to another object, for each of the plurality of planned movements, a presence of a stop sign, for each of the plurality of planned movements, a distance of the autonomous vehicle to the stop sign, for each of the plurality of planned movements, a presence of a pedestrian, and for each of the plurality of planned movements, a distance of the autonomous vehicle to the pedestrian.
[0018] For example, evaluating each of the possible planned movements includes assigning a sub-score to each of the speed of the autonomous vehicle for each of the plurality of planned movements, the distance from the autonomous vehicle to another object for each of the plurality of planned movements, the presence of the stop sign for each of the plurality of planned movements, the distance from the autonomous vehicle to the stop sign for each of the plurality of planned movements, the presence of a pedestrian for each of the plurality of planned movements, and the distance from the autonomous vehicle to the pedestrian for each of the plurality of planned movements to obtain a plurality of sub-movement scores for each of the plurality of planned movements.
[0019] For example, each of the plurality of scores may be a function of the plurality of partial movement scores. Re-scoring each of the plurality of planned movements may include determining an updated speed of the autonomous vehicle for each of the plurality of modified planned movements, an updated distance from the autonomous vehicle to another object for each of the plurality of modified planned movements, an updated presence of a stop sign for each of the plurality of modified planned movements, an updated distance from the autonomous vehicle to the stop sign for each of the plurality of modified planned movements, an updated presence of a pedestrian for each of the plurality of modified planned movements, and an updated distance from the autonomous vehicle to the pedestrian for each of the plurality of modified planned movements.
[0020] For example, re-evaluating each of the possible modified movements may include assigning an updated sub-score to each of the updated speed of the autonomous vehicle for each of the plurality of modified planned movements, the updated distance from the autonomous vehicle to another object for each of the plurality of modified planned movements, the updated presence of the stop sign for each of the plurality of modified planned movements, the updated distance from the autonomous vehicle to the stop sign for each of the plurality of modified planned movements, the updated presence of a pedestrian for each of the plurality of modified planned movements, and the updated distance from the autonomous vehicle to the pedestrian for each of the plurality of modified planned movements.to obtain a plurality of partial modified scores for each of the plurality of modified planned movements.
[0021] For example, the future may be 3.5 seconds after a current time. The predicted movement of at least one other vehicle can be determined using a kinematic prediction model. Fig. 1 is a functional block diagram illustrating a vehicle. Fig. 2 is a flowchart for a method for controlling an autonomous vehicle.
[0022] Embodiments of the present description may be described herein in terms of functional and / or logical block components and various processing steps. It should be noted that such block components may be implemented by a variety of hardware, software, and / or firmware components configured to perform the specified functions. For example, an embodiment of the present description may utilize various integrated circuit components, e.g., memory elements, digital signal processing elements, logic elements, lookup tables, or the like, capable of performing a variety of functions under the control of one or more microprocessors or other control devices.Furthermore, those skilled in the art will recognize that embodiments of the present description may be practiced in connection with a variety of systems, and that the systems described herein are merely exemplary embodiments of the present description.
[0023] With reference to Fig. 1, an autonomous vehicle 10 includes a chassis 12, a body 14, front wheels 16, and rear wheels 18. The body 14 is disposed on the chassis 12 and substantially encloses components of the autonomous vehicle 10. The body 14 and the chassis 12 may together form a frame. The front wheels 16 and the rear wheels 18 are each rotatably coupled to the chassis 12 near a corresponding corner of the body 14. The vehicle 10 is, for example, a vehicle that is automatically controlled to transport passengers from one location to another. The vehicle 10 is illustrated as a passenger car in the embodiment shown, but it should be understood that other vehicles, including motorcycles, trucks, all-terrain vehicles (SUVs), recreational vehicles (RVs), watercraft, aircraft, and the like, may be used. Further, the vehicle 10 may be an electric vehicle, a hybrid vehicle, or a motor vehicle.
[0024] The vehicle 10 may conform to a level four or five automation system (or lower levels as long as the driver's hands are not on the steering wheel 17) according to the Society of Automotive Engineers (SAE) "J3016" standard taxonomy for automated driving levels. Using this terminology, a level four system means "high automation" and refers to a driving mode in which the automated driving system performs aspects of the dynamic driving task even when a human driver does not appropriately respond to a request for intervention. A level 5 system, on the other hand, means "full automation" and refers to a driving mode in which the automated driving system performs aspects of the dynamic driving task under road and environmental conditions that can be handled by a human driver.However, it will be appreciated that the embodiments according to the present subject matter are not limited to any particular taxonomy or rubric of automation categories. Furthermore, systems according to the present embodiment may be used in conjunction with an autonomous or other vehicle that utilizes a navigation system and / or other systems for route guidance and / or execution.
[0025] The vehicle 10 may generally include a propulsion system 20, a transmission system 22, an electronic power steering system 24, a regenerative braking system 26, a sensor system 28, an actuator system 30, at least one data storage device 32, at least one automated system processor 44, and a communication system 36. The propulsion system 20, the transmission system 22, and the regenerative braking system 26 are part of the powertrain of the vehicle 10. The propulsion system 20 may include an internal combustion engine 20a and / or an electric machine 20b, such as an electric motor / generator, a prime mover, and / or a fuel cell propulsion system. The internal combustion engine 20a may be controlled by an engine control unit 19. The engine control unit 19 may include an engine controller and a computer-readable medium jointly programmed to control the internal combustion engine 20a.The electric machine 20b is configured to operate as an electric motor to convert electrical energy into mechanical energy (e.g., torque). Additionally, the electric machine 20b is configured to operate as an electric generator to convert mechanical energy (e.g., torque) into electrical energy. The vehicle 10 also includes an energy storage system (ESS) 21 configured to store electrical energy. The ESS 21 is electrically connected to the electric machine 20b and therefore supplies electrical energy to the electric machine 20b. The transmission system 22 is configured to transfer power from the drive system 20 to the vehicle wheels 16 and 18 according to selectable speed ratios. The transmission system 22 may be a stepped automatic transmission, a continuously variable transmission, or other suitable transmission.
[0026] The vehicle 10 further includes an exhaust system 23, which is in fluid communication with the internal combustion engine 20a and may include an exhaust manifold. After combustion in the internal combustion engine 20a, the exhaust system 23 receives and directs the exhaust gases generated by the internal combustion engine 20a. The exhaust system 23 may include one or more valves for directing the exhaust gases.
[0027] The vehicle 10 further includes an intake assembly 25 for supplying air to the internal combustion engine 20a. The intake assembly 25 may include an intake manifold and is configured to receive air from the atmosphere and direct this air into the internal combustion engine 20a. The air is then mixed with fuel and combusted in the internal combustion engine 20a.
[0028] The vehicle 10 may further include a turbocharger 27 in fluid communication with the intake assembly 25 and the exhaust system 23. In particular, the turbocharger 27 includes a compressor 29, a turbine 31, and a shaft 33 rotatably connecting the compressor 29 and the turbine 31. During operation, the compressor 29 compresses the airflow before it enters the internal combustion engine 20a to increase power and efficiency. Accordingly, the compressor 29 is in fluid communication with the intake assembly 25. The compressor 29 forces more air, and therefore more oxygen, into the combustion chambers of the internal combustion engine 20a than is possible at ambient atmospheric pressure. The compressor 29 is driven by the turbine 31 via the shaft 33. The rotation of the turbine 31 thus causes the compressor 29 to rotate. In order to rotate the turbine 31, the exhaust gases from the exhaust system 23 are pushed into the turbine 31.The building exhaust pressure drives the turbine 31. When the combustion engine 20a is operated at idle, at low engine speeds, or with a low throttle, the exhaust pressure is normally insufficient to drive the turbine 31.
[0029] As described above, the vehicle 10 may include regenerative braking systems 26 coupled to the vehicle wheels 16 and 18 and therefore configured to apply braking torque to the vehicle wheels 16 and 18. The regenerative braking system 26 is configured to reduce the vehicle speed or bring the vehicle 10 to a stop. The regenerative braking system 26 is electrically connected to the electric machine 20b. As such, regenerative braking causes the electric machine 20b to operate as a generator to convert rotational energy from the vehicle wheels 16 and 18 into electrical energy used to charge the energy storage system 21.
[0030] The electronic power steering system 24 influences a position of the vehicle wheels 16 and / or 18. Although a steering wheel 17 is shown for illustrative purposes, the electronic power steering system 24 may not include a steering wheel. The vehicle 10 may also include an electronic stability control system 15 (or other vehicle control system) that assists the driver in maintaining control of their vehicle 10 during extreme steering maneuvers by keeping the vehicle 10 in the driver's intended direction, even when the vehicle 10 approaches or exceeds the limits of road traction.
[0031] The sensor system 28 includes one or more sensing devices 40a-40n that sense observable conditions of the external environment and / or the internal environment of the vehicle 10. The sensing devices 40a-40n may be referred to as sensors and may include, but are not limited to, radars, lidars, global positioning systems, optical cameras, thermal cameras, ultrasonic sensors, image sensors, yaw rate sensors, and / or other sensors. For example, the sensing device 40a is a front camera module (FCM) configured to capture images at the front of the vehicle 10 and generate image data displaying the captured images. The FCM (i.e., the sensing device 40a) is in communication with the controller of the automated system 34 and may therefore receive instructions from the automated system controller 34. The FCM (i.e.,The sensing device 40a) is also configured to send the image data to the controller of the automated system 34. In the illustrated embodiment, the sensing device 40b is a lidar system configured to measure the distance between the vehicle 10 and another object, e.g., another vehicle. The lidar system (i.e., the sensing device 40b) is in communication with the automated system controller 34. The automated system controller 34 may therefore receive signals from the sensing device 40b and determine the distance of the vehicle 10 to another object based on the signal received from the sensing device 40b. The sensing device 40n may be a speedometer configured to measure the current vehicle speed of the vehicle 10. The speedometer (i.e., the sensing device 40n) is in communication with the automated system controller 34.The automated system controller 34 is programmed to receive signals from the sensing device 40n and determine the current vehicle speed of the vehicle 10 based on the signals received from the sensing device 40n. The automated system controller 34 may be part of an automated control system 37 configured to autonomously control movements of the vehicle 10. The vehicle 10 further includes a user interface 13 that communicates with the automated control system 37. The vehicle operator can select between an autonomous control mode and a driver-controlled mode via the user interface. In the autonomous control mode, the automated control system 37 controls the movements of the vehicle 10. In the driver-controlled mode, the vehicle operator controls the movements of the vehicle 10.
[0032] One of the sensing devices 40a-40n may be a steering sensor configured to measure the steering angle of the electronic servo system 24. The steering sensor may be part of the electronic power steering system 24 and may be referred to as a sensor. The steering sensor (i.e., at least one of the sensing devices 40a-40n) may be a yaw rate sensor and / or an image sensor, each configured to indirectly measure the steering angle of the autonomous vehicle 10. The image sensor may be a charge-coupled device (CCD) and / or an active pixel (CMOS) sensor. Regardless of the type of sensor, the image sensor may be part of a front camera module (i.e., the sensor device 40a). However, the steering sensor (i.e., one of the sensing devices 40a-40n) is not a steering wheel angle sensor to avoid additional distortion of the steering angle measurement. Therefore, the electric power steering system does not necessarily include a steering wheel angle sensor.
[0033] The actuator system 30 includes one or more actuator devices 42a, 42b, and 42n that control one or more vehicle functions of the vehicle 10. The actuator devices 42a, 42b, 42n (also referred to as actuators) control one or more features, such as, but not limited to, the drive system 20, the transmission system 22, the electronic power steering system 24, the regenerative braking system 26, and actuators for opening and closing the doors of the vehicle 10. In various embodiments, the vehicle 10 may also include interior and / or exterior vehicle features that are Fig. 1, such as a trunk and cabin features such as air, music, lighting, touchscreen display components (such as those used in conjunction with navigation systems), and the like.
[0034] Data storage device 32 stores data for use in the automatic control of vehicle 10. In various embodiments, data storage device 32 stores defined maps of the navigable environment. In various embodiments, the defined maps may be predefined by and retrieved from a remote system.
[0035] For example, the defined maps may be compiled by the remote system and transmitted to the vehicle 10 (wirelessly and / or wired) and stored in the data storage device 32. The data storage device 32 may also store route information, i.e., a set of road segments (geographically linked to one or more of the defined maps) that together define a route the user may take to travel from a starting location (e.g., the user's current location) to a destination location. In addition, the data storage device 32 stores data related to the roads on which the vehicle 10 may be traveling. As can be appreciated, the data storage device 32 may be part of the automated system controller 34, separate from the automated system controller 34, or part of the automated system controller 34 and part of a separate system.
[0036] The automated system controller 34 includes at least one automated system processor 44 and a computer-readable automated storage device or medium 46. The automated system processor 44 may be a custom or off-the-shelf processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among multiple processors associated with the automated system controller 34, a semiconductor-based microprocessor (in the form of a microchip or chipset), a combination thereof, or generally any device for executing instructions. The computer-readable storage device or media 46 may include volatile and non-volatile memory, such as read-only memory (ROM), random access memory (RAM), and keep-alive memory (KAM).KAM is a persistent or non-volatile memory that can be used to store various operating variables while the automated system processor 44 is off. The computer-readable storage device(s) 46 can be implemented using any of a variety of known storage devices, such as PROMs (Programmable Read-Only Memory), EPROMs (Electrically Erasable PROMs), EEPROMs (Electrically Erasable PROMs), flash memory, or other electrical, magnetic, optical, or combination storage devices capable of storing data, some of which represent executable instructions used by the controller of the automated system 34 in controlling the vehicle 10. The controller of the automated system 34 may simply be referred to as a controller.
[0037] The instructions may include one or more separate programs, each containing an ordered list of executable instructions for implementing logical functions. The instructions, when executed by the automated system processor 44, receive and process signals from the sensor system 28, perform logic, calculations, methods, and / or algorithms to automatically control the components of the vehicle 10, and generate control signals that are transmitted to the actuator system 30 to automatically control the components of the autonomous vehicle 10 based on the logic, calculations, methods, and / or algorithms. Although in Fig. 1 illustrates only one automated system controller 34, embodiments of the autonomous vehicle 10 may include a number of controllers 34 that communicate via a suitable communication medium or combination of communication media and that cooperate to process the sensor signals, perform logic, calculations, methods, and / or algorithms, and generate control signals to automatically control features of the autonomous vehicle 10. In one embodiment, as discussed in detail below, the automated system controller 34 is configured for use in controlling maneuvers for the vehicle 10 around stationary vehicles.
[0038] The communication system 36 is configured to wirelessly transmit information to and from other entities 48, such as, but not limited to, other vehicles (“V2V” communication), infrastructure (“V2I” communication), remote transportation systems, and / or user devices (described in more detail with respect to Fig. 2). In an exemplary embodiment, the communication system 36 is a wireless communication system configured to communicate over a wireless local area network (WLAN) using IEEE 802.11 standards or using cellular data communication. However, additional or alternative communication methods, such as a dedicated short-range communication (DSRC) channel, are also contemplated within the scope of this description. DSRC channels refer to short- to medium-range, one-way or two-way wireless communication channels specifically designed for use in motor vehicles, and a corresponding set of protocols and standards. The communication system 36 is configured to transmit and receive a traffic-related message as described below.
[0039] The electronic power steering system 24 may additionally include a steering controller 35. The steering controller 35 includes at least one steering processor 45 and a computer-readable storage device or storage medium 47 for the steering. The steering processor 45 may be a custom processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among multiple processors associated with the steering controller 35, a semiconductor-based microprocessor (in the form of a microchip or chipset), a combination thereof, or generally an instruction-executing device. The computer-readable storage device(s) 47 for the steering may include volatile and non-volatile storage, such as read-only memory (ROM), random access memory (RAM), and keep-alive memory (KAM).KAM is a persistent or non-volatile memory that can be used to store various operating variables while the steering processor 45 is powered off. The steering computer-readable storage device(s) or media 47 can be implemented using any of a variety of known storage devices, such as PROMs (Programmable Read-Only Memory), EPROMs (Electrically Erasable PROMs), EEPROMs (Electrically Erasable PROMs), flash memory, or other electrical, magnetic, optical, or combination storage devices capable of storing data, some of which represent executable instructions used by the steering controller 35 in controlling the electronic power steering system 24 of the autonomous vehicle 10.
[0040] Fig.Figure 2 shows a flowchart of a forward modeling method 100 for controlling the behavior of the autonomous vehicle 10. Forward modeling is a general predictive approach in which the automated system controller 34 makes a future prediction based on another short-term prediction. In the present description, forward modeling is systematically formalized by introducing three components (i.e., future evaluation 102, behavior selection 104, and reactive prediction 106).
[0041] The method 100 begins with block 102, which includes the future assessment. The future assessment includes the evaluation of driving behavior for a future hypothetical situation. To this end, the automated system controller 34 first receives sensor inputs from one or more sensors (i.e., sensing devices 40a-40n) of the autonomous vehicle 10. The sensor input from the sensing devices 40a-40n may include, among other things, the speed of the autonomous vehicle 10, the distance of the autonomous vehicle to another object, the presence of a stop sign along a planned vehicle route, the distance of the autonomous vehicle 10 to a stop sign along a planned route, the presence of a pedestrian along a planned route, and the distance of the autonomous vehicle 10 to the pedestrian. For example, a camera (i.e.,A lidar (i.e., one of the sensing devices 40a-40n) may be used to detect a pedestrian, a stop sign, or another object, such as another vehicle. A lidar (i.e., one of the sensing devices 40a-40n) may be used to measure the distance between the autonomous vehicle 10 and another object, such as a stop sign or a pedestrian. The automated system controller 34 may also receive inputs from the vehicle operator via the user interface 13. For example, the vehicle operator may input information about the desired destination. Additionally, the automated system controller 34 may receive inputs from the navigation system regarding maps and routes for reaching the desired destination. In addition, the controller of the automated system 34 may receive inputs from other units 48 via the communication system 36.For example, the automated system controller 34 may receive inputs about the location of another vehicle or traffic infrastructure, such as a traffic light.
[0042] Then, also in block 102, the automated system controller 34 determines, using more than one autonomous driving technique, a plurality of possible planned movements of the autonomous vehicle 10 in the future based at least on the sensor input from the plurality of sensors (i.e., sensing devices 40a-40n). The autonomous driving techniques that may be used include one or more rule-based models and / or machine learning models, such as a machine learning tree regression mode. A rule-based model is based on specific rules programmed into the automated system controller 34. For example, a rule in the rule-based model may dictate that the autonomous vehicle 10 should maintain at least a predetermined distance from other entities 48, such as another vehicle.Another rule in the rule-based model may be that the speed of the autonomous vehicle 10 must not exceed the speed limit on the particular street on which the autonomous vehicle 10 is located. One or more rule-based models may be used to determine at least one possible planned movement based on the inputs from the sensing devices 40a-40 and the destination specified by the user. The machine learning models rely on statistical models that the automated system controller 34 uses to instruct the autonomous vehicle 10 to perform a specific task without using explicit instructions, relying instead on patterns and inferences. For example, the automated system controller 34 may use decision tree learning (i.e., one of the many possible machine learning models) to obtain at least one possible planned movement in the future.For example, classification and tree regression (CART) models can be used to determine planned movements for the autonomous vehicle 10. The possible planned movements are planned movements that will occur in the future. In this description, "in the future" means 3.5 seconds past the current time, which allows the controller of the automated system 34 sufficient time to evaluate all possible planned movements. For example, the possible planned movements may include a left turn.
[0043] Furthermore, in block 102, after determining the possible planned movements in the future using a number of autonomous driving techniques, the controller of the automated system 34 evaluates each of the plurality of possible planned movements to obtain a plurality of scores. Each score corresponds to one of the plurality of possible planned movements. Specifically, the automated system controller 34 determines a possible planned movement for each autonomous driving technique. Then, each of the possible planned movements is evaluated, and each of the possible planned movements is assigned a score.
[0044] The evaluation of each of the possible planned movements may include assigning a sub-score to various vehicle parameters to obtain a plurality of sub-movement scores for each of the plurality of possible planned movements. For example, a sub-score may be assigned to the following: (1) each of the speeds of the autonomous vehicle 10 for each of the plurality of planned movements; (2) the distance of the autonomous vehicle 10 to another entity 48 (e.g.,another vehicle) for each of the plurality of planned movements; (3) the presence of a stop sign (or other traffic infrastructure) for each of the plurality of planned movements; (4) the distance from the autonomous vehicle 10 to the stop sign (or other traffic infrastructure) for each of the plurality of planned movements; (4) the presence of a pedestrian along the route for each of the plurality of planned movements; and / or (5) the distance from the autonomous vehicle 10 to the pedestrian along the route for each of the plurality of possible planned movements to obtain a plurality of partial movement scores for each of the plurality of possible planned movements.For example, if one of the possible planned movements requires a higher speed than another possible planned movement, then the possible planned movement with the lowest speed will be assigned a higher subscore than other possible planned movements.
[0045] For example, if the distance of the autonomous vehicle 10 to another entity 48 in a possible planned movement is shorter than in other possible planned movements, then the possible planned movement with the shortest distance of the autonomous vehicle 10 to the other entity 48 will have a higher subscore than other possible planned movements. If one of the possible planned movements includes the presence of a pedestrian along the planned route, then this possible planned movement will have a lower score than other planned movements without pedestrians along the planned route.If the distance between the autonomous vehicle 10 and the pedestrian is greater in one of the possible planned movements than in other possible planned movements, then the subscore for that possible planned movement has a higher subscore than other possible planned movements where the distance between the autonomous vehicle 10 and the pedestrian is smaller. If a stop sign (or other traffic infrastructure) is located along the route of a possible planned movement, then that possible planned movement is assigned a lower subscore than other possible planned movements where no stop sign (or other traffic infrastructure) is located along the possible planned route.If the distance of the autonomous vehicle 10 to the stop sign (or other traffic infrastructure) is greater in a possible planned movement than in other possible planned movements, then the possible planned movement with the greatest distance between the stop sign (or other traffic infrastructure) and the autonomous vehicle 10 will have a higher subscore than other possible planned movements where the distance to the stop sign (or other traffic infrastructure) is shorter. All subscores are then added to determine the score for each possible planned movement. Therefore, the score for each of the possible planned movements is a function of all the subscores described above. It is conceivable that the automatic system controller 34 uses additional vehicle parameters, each of which is assigned a subscore.Alternatively, the automated system controller 34 may use fewer or different vehicle parameters than those described above. After determining the ratings, the method 100 proceeds to block 104.
[0046] In block 104, the automated system controller 34 performs a behavior selection. To do so, the automated system controller 34 identifies and selects the possible planned movement that has the highest rating. In doing so, the automated system controller 34 compares the ratings of all possible planned movements determined using the various autonomous driving techniques to determine which of the autonomous driving techniques provides the highest rating. For example, the automated system controller 34 may compare the rating of the possible planned movement determined using a rule-based model with the rating of the possible planned movement determined using a machine learning model to determine which of these autonomous driving techniques (i.e., rule-based model vs. machine learning model) provides the highest rating.The possible planned movement with the highest rating is selected.
[0047] Following execution of block 104, the method 100 then proceeds to block 106. In one scenario, the automated system controller 34 instructs the autonomous vehicle 10 to execute the possible planned movement with the highest score determined at this stage. However, as explained below, the reactive prediction (in block 106) may be considered before instructing the autonomous vehicle 10 to perform a particular action.
[0048] In block 106, the automated system controller 34 determines reactive predicted movements of other vehicles (or other entities 48) based on the selected possible planned movement of the autonomous vehicle 10. The reactive movements of other vehicles (or other entities 48) refer to the movements of other vehicles in response to the selected possible planned movement of the autonomous vehicle 10, as determined in block 104. In doing so, the automated system controller 34 determines a multiple of the possible reactive movements of one or more other vehicles based on the selected possible planned movements. Then, the automated system controller 34 determines a plurality of possible reactive movements of the autonomous vehicle 10 in the future (e.g., 3.5 seconds past the current time) based on the predicted movement of the other vehicle or vehicles.
[0049] In one scenario, the automated system 34 instructs the autonomous vehicle 10 to change from a first lane to an adjacent, second lane because a first vehicle is traveling slowly ahead in the first lane. However, a second vehicle is traveling in the second lane behind the autonomous vehicle 10. As a result, the automated system controller 34 determines, e.g., using a kinematic model, that the second vehicle will slow down when the autonomous vehicle 10 changes lanes. In other words, the automated system controller 34 predicts the behavior of the second vehicle.
[0050] In response to determining the possible reactive movements of the other vehicles, the method 100 proceeds to block 102, where the automated system controller 34 modifies the possible planned movements by considering the reactive predicted movements of the other vehicles and using the sensor input from the sensing devices 40a-40n and the autonomous driving techniques (e.g., rule-based model and machine learning models). As a result, the automated system controller 34 generates a plurality of modified planned movements of the autonomous vehicle 10 in the future (e.g., 3.5 seconds past the current time). As explained above, these modified planned movements of the autonomous vehicle 10 consider the possible reactive movements of the other vehicles.
[0051] The method 100 then proceeds to block 104, where the plurality of modified planned movements of the autonomous vehicle 10 are re-evaluated (i.e., re-scored) to obtain a plurality of updated scores, each corresponding to one of the plurality of modified planned movements, as described above. The method 100 then proceeds to block 104, where the automated system controller 34 selects the modified planned movement having the highest updated score. Further, the automated system controller 34 commands the autonomous vehicle 10 to move according to the selected modified planned movement having the highest updated score. To do so, the automated system controller 34 commands actuation of one or more actuator devices 42a, 42b, and 42n that control one or more vehicle functions of the autonomous vehicle 10.
Claims
[1] A method (100) for controlling an autonomous vehicle (10), comprising: Receiving a sensor input from a plurality of sensors (40a-40n) of the autonomous vehicle (10) by a controller (34) of the autonomous vehicle (10); Determining a plurality of possible planned movements of the autonomous vehicle (10) in a future using a plurality of autonomous driving techniques and the sensor input from the plurality of sensors (40a-40n); evaluating each of the plurality of possible planned movements to obtain a plurality of scores each corresponding to one of the plurality of possible planned movements, the plurality of scores including a highest score; Selecting one of the plurality of possible planned movements that corresponds to the highest rating from the plurality of ratings; determining a predicted movement of at least one other vehicle based on the selected one of the plurality of possible planned movements; Determining a plurality of possible reactive movements of the autonomous vehicle (10) in the future based on the predicted movement of the at least one other vehicle; modifying the plurality of possible planned movements to encompass the plurality of possible reactive movements to obtain a plurality of modified planned movements in the future; Re-evaluating each of the plurality of modified planned movements to obtain a plurality of updated scores each corresponding to one of the plurality of modified planned movements, the plurality of updated scores including a highest updated score; Selecting one of the plurality of modified planned movements that corresponds to the highest updated rating of the plurality of ratings; and instructing the autonomous vehicle (10) by the controller (34) to move according to the selected movement from the plurality of modified planned movements with the highest updated rating; wherein evaluating each of the possible planned movements comprises determining a speed of the autonomous vehicle (10) for each of the plurality of possible planned movements, a distance from the autonomous vehicle (10) to another object for each of the plurality of possible planned movements, a presence of a stop sign for each of the plurality of possible planned movements, a distance from the autonomous vehicle (10) to the stop sign for each of the plurality of possible planned movements, a presence of a pedestrian for each of the plurality of possible planned movements, and a distance from the autonomous vehicle (10) to the pedestrian for each of the plurality of possible planned movements; and wherein evaluating each of the possible planned movements comprises assigning a sub-score to each of the speed of the autonomous vehicle (10) for each of the plurality of possible planned movements, the distance from the autonomous vehicle (10) to another object for each of the plurality of possible planned movements, the presence of the stop sign for each of the plurality of possible planned movements, the distance from the autonomous vehicle (10) to the stop sign for each of the plurality of possible planned movements, the presence of a pedestrian for each of the plurality of possible planned movements, and the distance from the autonomous vehicle (10) to the pedestrian for each of the plurality of possible planned movements to obtain a plurality of sub-movement scores for each of the plurality of possible planned movements. [2] The method (100) of claim 1, wherein the plurality of autonomous driving techniques comprises a rule-based model. [3] The method (100) of claim 1, wherein the plurality of autonomous driving techniques comprises a machine learning tree regression model. [4] The method (100) of claim 1, wherein each of the plurality of scores is a function of the plurality of partial motion scores. [5] The method (100) of claim 4, wherein re-evaluating each of the plurality of possible planned movements comprises determining an updated speed of the autonomous vehicle (10) for each of the plurality of modified planned movements, an updated distance from the autonomous vehicle (10) to another object for each of the plurality of modified planned movements, an updated presence of a stop sign for each of the plurality of modified planned movements, an updated distance from the autonomous vehicle (10) to the stop sign for each of the plurality of modified planned movements, an updated presence of a pedestrian for each of the plurality of modified planned movements, and an updated distance from the autonomous vehicle (10) to the pedestrian for each of the plurality of modified planned movements. [6] The method (100) of claim 5, wherein re-evaluating each of the possible modified movements comprises assigning an updated sub-score to each of the updated speed of the autonomous vehicle (10) for each of the plurality of modified planned movements, the updated distance from the autonomous vehicle (10) to another object for each of the plurality of modified planned movements, the updated presence of the stop sign for each of the plurality of modified planned movements, the updated distance from the autonomous vehicle (10) to the stop sign for each of the plurality of modified planned movements, the updated presence of a pedestrian for each of the plurality of modified planned movements, and the updated distance from the autonomous vehicle (10) to the pedestrian for each of the plurality of modified planned movements,to obtain a plurality of partial modified scores for each of the plurality of modified planned movements. [7] The method (100) of claim 1, wherein the future is 3.5 seconds after a current time. [8] The method (100) of claim 1, wherein the predicted movement of the at least one other vehicle is determined using a kinematic prediction model.
Citation Information
Patent Citations
Initial Trajectory Generator for Motion Planning System of Autonomous Vehicles
US20190346851A1
Autonomous decisions in traffic situations with planning control
US20200326719A1