Method, device and equipment for automatic driving decision making and storage medium
The multi-layer finite state machine approach with driving decision flags addresses scalability issues in autonomous driving algorithms, improving efficiency and safety in handling complex scenarios.
Patent Information
- Application Number
- CN202411388070.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2024-12-27
AI Technical Summary
Existing autonomous driving decision-making algorithms face challenges in scalability and complexity when new states need to be added, particularly in handling complex scenarios, with finite state machines requiring extensive reconfiguration and decision trees needing deep expansions, leading to inefficient code development.
A method utilizing a multi-layer finite state machine combined with a decision tree to manage vehicle states, employing driving decision flags to streamline state transitions and reduce code redundancy, allowing for easier expansion and scalability.
The method enhances the scalability of autonomous driving decision-making by reducing code volume and simplifying state machine management, ensuring safe and efficient handling of complex driving scenarios.
Smart Images

Figure CN119190076A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of autonomous driving technology, and in particular to methods, devices, equipment and storage media for autonomous driving decision-making. Background Art
[0002] With the development of autonomous driving technology, the types of scenarios that intelligent driving vehicles need to deal with are increasing, and the complexity of the scenarios is increasing. The autonomous driving industry has higher and higher requirements for the decision-making modules in functional algorithms, mainly focusing on processing complex logic, operating logic continuity and the operating efficiency of the entire algorithm module.
[0003] When the autonomous driving decision-making algorithm in the related technology is undergoing secondary development and new states need to be added, the logical jump relationship needs to be improved, which puts higher requirements on the scalability of the autonomous driving decision-making method. Summary of the invention
[0004] In view of this, the present invention provides a method, apparatus, device and storage medium for autonomous driving decision-making, so as to solve the problem that when the autonomous driving decision algorithm in the related technology is subjected to secondary development and new states need to be added, it is necessary to improve the logical jump relationship, which puts forward higher requirements on the scalability of the autonomous driving decision-making method.
[0005] In a first aspect, the present invention provides a method for making autonomous driving decisions, the method comprising: obtaining vehicle information and vehicle environment information; judging whether a driving decision is needed based on the vehicle information and the vehicle environment information, obtaining a judgment result, and updating driving decision flag information based on the judgment result; based on the updated driving decision flag information, checking whether a vehicle state switching condition is met, and if so, switching the vehicle state based on a multi-layer finite state machine.
[0006] In an optional embodiment, the vehicle's environmental information includes lane information, vehicle navigation information and obstacle information; based on the vehicle information and the vehicle's environmental information, determine whether a driving decision is needed, obtain a determination result, and update the vehicle's driving decision flag information based on the determination result, including: based on the lane information, the vehicle navigation information and the obstacle information, determine whether a navigation lane switch is needed; if the navigation lane switch is needed, determine the direction of the navigation lane switch, and update the driving decision flag information to a value representing the navigation lane switch.
[0007] In an optional implementation, based on the updated driving decision flag information, it is checked whether the vehicle state switching conditions are met. If so, the vehicle state is switched based on a multi-layer finite state machine, including: under the condition that the updated driving decision flag information represents lane switching, it is determined whether a target lane for the lane switching exists; if the target lane exists, it is determined whether the target lane is a variable lane; if the target lane is the variable lane, the vehicle state is switched to a lane change preparation state; if the target lane is not changeable, the vehicle state is switched to a lane change waiting state.
[0008] In an optional embodiment, if the target lane is in a situation where the lane cannot be changed, the vehicle state is switched to a lane change waiting state, including: if the image obtained based on the environmental information of the vehicle shows that the lane cannot be changed after a preset number of waiting frames, the lane switch is canceled and the vehicle state is switched to a cruising state.
[0009] In an optional embodiment, if the target lane is the variable lane, the vehicle state is switched to a lane change preparation state, including: if the target lane is the variable lane, obtaining a preset number of frames of a target lane image obtained based on the vehicle's environmental information, if the target lane image indicates that the target lane is the variable lane, the vehicle state is switched from the lane change preparation state to the lane change execution state.
[0010] In an optional implementation, determining whether the target lane is a variable lane includes:
[0011] Determining whether to change lanes to the target lane based on the traffic signal and the obstacle information;
[0012] In the case where the target lane is the variable lane, a judgment result of whether the target lane is the variable lane is obtained based on whether the relative positions and / or relative speeds of other vehicles on the target lane side and the current vehicle meet preset requirements.
[0013] In an optional embodiment, switching the vehicle state based on a multi-layer finite state machine includes: switching the vehicle state to a cruising state, a left lane change state or a right lane change state; wherein the left lane change state includes a left lane change waiting state, a left lane change preparation state, a left lane change execution state, and a left lane change cancellation state; the right lane change state includes a right lane change waiting state, a right lane change preparation state, a right lane change execution state, and a right lane change cancellation state.
[0014] In a second aspect, the present invention provides a device for making autonomous driving decisions, the device comprising: a data cache module for acquiring vehicle information and vehicle environment information; a judgment module for judging whether a driving decision is needed based on the vehicle information and the vehicle environment information, obtaining a judgment result, and updating the driving decision flag information based on the judgment result; a state switching module for checking whether a vehicle state switching condition is met based on the updated driving decision flag information, and if so, performing vehicle state switching based on a multi-layer finite state machine.
[0015] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the method for autonomous driving decision-making of the above-mentioned first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0016] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the method for autonomous driving decision-making of the above-mentioned first aspect or any corresponding embodiment thereof.
[0017] In a fifth aspect, the present invention provides a computer program product, comprising computer instructions, wherein the computer instructions are used to enable a computer to execute the method for autonomous driving decision-making according to the above-mentioned first aspect or any corresponding embodiment.
[0018] Based on the setting of driving decision flag information, the vehicle driving subdivision status is controlled. The processing results of the subdivision logic that originally required setting additional states or expanding the decision tree to be processed can be stored and can be called across states, which reduces the amount of decision method code and improves the scalability of secondary development; based on the state reuse of the finite state machine, the state machine can be streamlined and easy to expand. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0020] Figure 1 A schematic diagram of a process for autonomous driving decision-making provided by an embodiment of the present invention is shown;
[0021] Figure 2 A schematic flow chart showing another method for autonomous driving decision making according to an embodiment of the present invention;
[0022] Figure 3 A schematic flow chart showing another method for autonomous driving decision making according to an embodiment of the present invention;
[0023] Figure 4 A schematic diagram of the structure of a multi-layer finite state machine provided by the present invention is shown;
[0024] Figure 5 A schematic diagram showing the structure of a vehicle driving decision-making system provided by the present invention is shown;
[0025] Figure 6 A schematic diagram showing a process of triggering a vehicle from a cruising state to a lane changing state based on the method for automatic driving decision-making provided by the present invention is shown;
[0026] Figure 7 A schematic diagram showing a high-speed automatic assisted navigation driving function based on the method for automatic driving decision-making provided by the present invention;
[0027] Figure 8 A schematic diagram showing errors that occur in a pure decision tree-based decision algorithm under simulation testing;
[0028] Fig. 9 A schematic diagram showing a situation in which a vehicle triggers a lane change requirement based on a pure state machine decision algorithm but the conditions are not met, resulting in the vehicle exceeding the drivable area;
[0029] Fig.10 A schematic diagram showing the reference line error under the ramp when the vehicle passes by based on the pure state machine decision algorithm is shown;
[0030] Fig.11 A schematic diagram of a simulation demonstration process of a method for autonomous driving decision-making provided by an embodiment of the present invention is shown;
[0031] Fig.12 A schematic diagram showing the triggering of automatic lane change in the method for autonomous driving decision-making provided in an embodiment of the present invention is shown;
[0032] Fig.13 A schematic diagram of triggering a left lane change in a method for autonomous driving decision-making provided in an embodiment of the present invention is shown;
[0033] Fig.14 A schematic diagram before triggering a lane change in a method for autonomous driving decision-making provided in an embodiment of the present invention is shown;
[0034] Fig.15 A schematic diagram showing manually lighting a light to trigger an interactive lane change in a method for autonomous driving decision-making provided by an embodiment of the present invention is shown;
[0035] Fig.16A schematic diagram before navigation triggers lane change in a method for autonomous driving decision-making provided in an embodiment of the present invention is shown;
[0036] Fig.17 A schematic diagram of navigation-triggered lane change in a method for autonomous driving decision-making provided in an embodiment of the present invention is shown;
[0037] Fig.18 A schematic diagram showing entering a ramp according to a navigation path based on a method for autonomous driving decision-making provided by an embodiment of the present invention;
[0038] Fig.19 A schematic diagram showing an off-ramp according to navigation in a method for autonomous driving decision-making provided by an embodiment of the present invention is shown;
[0039] Fig. 20 A schematic diagram of the structure of a device for autonomous driving decision-making provided by an embodiment of the present invention is shown;
[0040] Fig.21 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0041] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0042] There are many types of decision-making algorithms for autonomous driving depending on the application scenario. Table 1 shows the classification of decision-making environments in autonomous driving. As shown in Table 1, it is divided into white-box environment and black-box environment according to whether the relationship between scene variables and final decisions can be expressed by a specific formula. Whether it is a static environment or a dynamic environment is determined based on whether the environment has a transferable state. The static environment corresponds to a single-step decision, and the dynamic environment corresponds to a multi-step decision. In more general application scenarios involving autonomous driving, such as robot behavior decisions or game character behavior decisions. There are four major categories of decision-making algorithms in related technologies: white-box static scenarios are suitable for operations optimization algorithms, such as linear programming and nonlinear optimization algorithms; white-box dynamic scenarios have dynamic programming algorithms, such as MDP solving algorithms and tree- and graph-based search algorithms; black-box dynamic algorithms are mainly suitable for reinforcement learning algorithms, such as policy optimization, sequential black boxes, etc., which usually require a large amount of data for training.
[0043] Table 1 Classification of decision-making environments in autonomous driving
[0044]
[0045] For the application scenarios of autonomous driving, since black box algorithms are difficult to pass relevant certification, the mainstream autonomous driving decision-making algorithms are mainly white box algorithms, which clearly set the logic related to traffic rules, static scene characteristics of the environment, and dynamic traffic conditions, and finally output the decision results. There are two most widely used algorithms in related technologies, the decision function based on state machine design represented by Autoware and the decision algorithm based on behavior decision tree represented by Apollo.
[0046] The Apollo decision module includes: reference path, traffic rule decision, path decision and speed decision. The four parts are executed sequentially. First, the navigation path is obtained from the map module, and the reference path is generated according to the current lane. The reference path is used as the default driving path in the absence of obstacles; secondly, the reference path is judged according to traffic rules, such as stop lines or traffic lights; then, the obstacle information obtained from perception, such as traffic or pedestrians, is introduced, and a decision tree composed of a series of logical judgments is used to give the path boundary after the decision. Among them, the lane change scenario corresponds to the path boundary of multiple lanes, and the non-lane change scenario corresponds to the path boundary inside a single lane; finally, after smoothing the path, the speed boundary is set on the path, and a smooth speed plan is generated through the optimizer. The entire decision-making process is dispersed in multiple different scene managers to handle different complex scenes. In each scene, when executing the above process, the weights and priorities between logical judgments and different conditions change with the scene.
[0047] The decision-making part of Autoware is mainly implemented using a finite state machine, which mainly consists of two parts: the decision execution part, which subscribes to a large amount of upstream information, such as perception, map, and status, logically processes and publishes it; the state machine part, which organizes the decision execution process by using the states within the predefined rule range and the jump relationship between states. Among them, the state machine includes the vehicle state machine, task state machine, behavior state machine, and motion state machine.
[0048] The vehicle state machine is responsible for maintaining the vehicle's own information, such as whether the vehicle is in a charging state; the state machine maintains the vehicle's tasks, such as whether it is driving according to the navigation; the behavior state machine involves the specific driving process of the vehicle, such as driving along the current road or changing lanes or turning left or right at the intersection; the motion state machine involves vehicle control and dynamics, such as starting and stopping. When the algorithm starts running, each state machine is initialized separately, and then each sub-state machine jumps repeatedly internally during the running process.
[0049] There are still problems with the decision-making algorithms in related technologies. The setting of the finite state machine is too complicated, and multiple different states need to be set according to different scenarios. At the same time, different stages of executing tasks in the scenario also need to be represented by setting different states. The logic between states and state jumps needs to be clarified. In the graph structure composed of states and jump paths, the number of jump paths increases in a factorial relationship with the number of states as nodes. In order to maintain the simplicity of the code and increase the feasibility of development, it is necessary to eliminate jump relationships that do not conform to the actual situation. On the other hand, when a new state is introduced, in order to maintain the rigor of the logic, it is necessary to check the jump relationships between all existing states and new states, and add possible jump paths in the future, which has poor scalability.
[0050] The decision tree in the related technology controls the possible flow of behavior through control nodes corresponding to the scene classification, and executes specific logical strategies based on the behavior nodes. This way of constantly flowing from the root node to the leaf node itself does not match the characteristics of the continuous state transition of the dynamic scene. Therefore, additional means are required to process the data between the previous and next frames to maintain the continuity of the decision. And similar to the finite state machine, when a new scene is introduced to be processed, the decision tree almost has to add a new tree with a larger depth or even a nearly complete tree to the original decision tree, which requires a lot of development work.
[0051] In related technologies, for complex scenes with complex states, the code that needs to be developed is too complex and it is difficult to cover all states; for white-box dynamic scenes, continuous decision-making is required, which places high demands on the continuity of the decision-making algorithm; in the case of secondary development, new states need to be added and the logical jump relationship needs to be improved, which puts higher demands on the scalability of the decision-making algorithm.
[0052] According to an embodiment of the present invention, a method embodiment for autonomous driving decision-making is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in an order different from that shown here.
[0053] In this embodiment, a method for autonomous driving decision-making is provided, which can be used in an autonomous driving terminal, such as an autonomous driving vehicle. Figure 1 A schematic diagram of a process for autonomous driving decision-making provided by an embodiment of the present invention is shown. Figure 1 As shown, the process includes the following steps:
[0054] Step S101, obtaining vehicle information and vehicle environment information.
[0055] In this step, the process of obtaining vehicle information and vehicle environment information in autonomous driving decision-making mainly relies on the collaborative work of the vehicle perception system and the vehicle driving decision-making system.
[0056] The vehicle perception system obtains information about the vehicle's environment through on-board sensors, such as cameras, lidar, or millimeter-wave radar, including navigation information, lanes, other vehicles, pedestrians, and traffic signals. After being processed, the vehicle's environmental information forms an internal representation of the external environment, providing necessary information input for the vehicle's driving decision-making system.
[0057] The vehicle driving decision system performs path planning, vehicle behavior decision-making and control based on the perceived vehicle environment information and vehicle information. Vehicle information includes human-machine interaction information (HMI), vehicle speed, steering angle and braking status. Autonomous vehicles can obtain and process vehicle information and vehicle environment information in real time to make safe and reasonable driving decisions.
[0058] Step S102, based on the vehicle information and the vehicle environment information, determine whether a driving decision is needed, obtain a determination result, and update the driving decision flag information based on the determination result.
[0059] The judgment of driving decision in this step is used to handle the complex condition judgment in the specific vehicle driving scene. Specifically, based on the vehicle information and the vehicle's environmental information, it is judged whether a driving decision is needed, including: judging whether it is necessary to merge into the main road at the ramp ahead based on the navigation information to guide the planning or decision; judging whether it is necessary to change lanes to the ramp based on the navigation information to guide the planning or decision; judging whether to cruise on the main road or change lanes on the main road based on the vehicle information and the vehicle's environmental information during driving on the main road; judging whether to cruise on the ramp based on the vehicle information and the vehicle's environmental information during driving on the ramp.
[0060] Among them, main road cruising includes: cruise control, following a vehicle, following a stop, starting, and cornering, etc., and can adjust the lateral and longitudinal movement of the vehicle in combination with lane or navigation speed limit information. Main road lane changing includes: automatically changing lanes to overtake slow vehicles during main road driving, or judging lane change conditions and executing lane changes based on the driver's manual lane change request, or guiding lane changes at appropriate locations based on navigation information. Ramp cruising includes: during ramp driving, controlling the vehicle to cruise or follow a vehicle in the ramp, and evaluating the passing ability based on the ramp curvature radius, and allowing the vehicle to pass at a reduced speed.
[0061] In this step, the judgment process of the driving decision is encapsulated and embedded in the vehicle driving decision system for calling. When the judgment process of the driving decision is called, there is no need to pay attention to the internal content of the driving decision judgment, and the judgment result can be used directly.
[0062] Based on the vehicle information and the vehicle's environment information, determine whether a driving decision is needed and obtain the judgment result, including: creating a driving decision interface; implementing the driving decision logic; encapsulating the driving decision module, integrating the driving decision module into the vehicle driving decision system, and providing a driving decision calling interface.
[0063] Among them, create a driving decision interface: one or more interfaces can be created to define the input parameters and return results required for driving decision-making. The interface can include the information that the caller needs to provide and the expected results.
[0064] Implement driving decision logic: Based on the interface definition, specific driving decision logic can be implemented to analyze input data and generate driving decisions.
[0065] Encapsulate the driving decision module, integrate the driving decision module into the vehicle driving decision system, and provide a driving decision calling interface: encapsulate the implemented driving decision logic into an independent module or component. The data and logic inside the driving decision module are not visible to the outside world and only interact with the outside world through the defined interface; integrate the encapsulated driving decision module into the vehicle driving decision system to ensure that the driving decision module can interact correctly with other system components; provide a calling interface for upper-level applications or other system components that require driving decision functions.
[0066] The driving decision flag information may include multiple Boolean variables, enumeration variables or integer variables, etc. By recording the judgment results based on the driving decision flag information, the processing results of the subdivision logic that originally required setting additional states or expanding the decision tree to be processed can be stored, and the driving decision flag information can be transmitted between different vehicle states and different driving decision logics.
[0067] Step S103, based on the updated driving decision flag information, check whether the vehicle state switching condition is met, and if so, perform vehicle state switching based on a multi-layer finite state machine.
[0068] In this step, the updated driving decision flag information can be monitored in real time or according to a preset period. The vehicle state includes a state name and a condition for switching from the current state to a new state. Among them, the state name can be a name that represents the change of the vehicle's driving state, such as a waiting state for changing lanes to the left. The condition for the vehicle state to switch from the current state to the new state can be based on a combination of driving decision flag information, can be based on the vehicle's behavioral suggestions, or can be based on the vehicle's environmental information.
[0069] A multi-layer finite state machine can include a three-layer structure. Each layer is an independent finite state machine. There can be dependencies between the layers. The state of a higher layer can depend on the state of a lower layer. Each layer has its own set of states. Each state defines the possible behavior of the layer in the current context. The state switching is triggered by the logic within the layer or external events. Each layer can be encapsulated as an independent class or module. The increase of vehicle states can be integrated into the vehicle driving decision system by adding new layers.
[0070] The method for autonomous driving decision-making provided in this embodiment provides autonomous driving decisions in complex scenarios by combining a multi-layer finite state machine and a decision tree, and controls the vehicle driving subdivision state based on the setting of driving decision flag information. The processing results of the subdivision logic that originally required the setting of additional states or the expansion of the decision tree to be processed can be stored and can be called across states, which reduces the amount of decision method code and improves the scalability of secondary development; based on the state reuse of the finite state machine, the state machine can be streamlined and easy to expand.
[0071] In this embodiment, a method for autonomous driving decision making is provided. Figure 2 A flow chart of another method for autonomous driving decision making according to an embodiment of the present invention is shown. Figure 2 As shown, the process includes the following steps:
[0072] Step S201, obtain vehicle information and vehicle environment information. Vehicle environment information includes lane information, vehicle navigation information and obstacle information. For details, please refer to Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.
[0073] Step S202, based on the vehicle information and the vehicle environment information, determine whether a driving decision is needed, obtain a determination result, and update the driving decision flag information based on the determination result.
[0074] Specifically, the above step S202 includes:
[0075] Step S2021, based on lane information, vehicle navigation information and obstacle information, determine whether navigation lane switching is required.
[0076] In this step, lane information may include lane type, lane width, lane markings, etc. Vehicle navigation information may include destination, planned route, and recommended lanes, etc. Obstacle information may include other vehicles, pedestrians, non-motor vehicles, or road construction, etc. Obstacle information may be acquired by lane modeling and point distribution as needed to obtain the six obstacle vehicles closest to the current vehicle in the left, middle, and right lanes. In this way, the calculation pressure can be reduced to the greatest extent while meeting other subsequent logical judgment requirements.
[0077] Based on the vehicle navigation information, analyze whether the planned path contains instructions for lane switching, and determine whether the current lane meets the requirements of the navigation path. Evaluate whether obstacles in the current lane affect continued driving, and analyze whether the impact of obstacles can be avoided or reduced after switching lanes. If the current lane does not meet the requirements of the navigation path, or there are unavoidable obstacles, it is determined that lane switching is necessary; if the current lane meets the requirements of the navigation path, and there are no obstacles or obstacles can be avoided, it is determined that lane switching is not necessary.
[0078] Step S2022: If a navigation lane switch is required, determine the direction of the navigation lane switch and update the driving decision flag information to a value indicating the navigation lane switch.
[0079] In this step, the position of the target lane relative to the current lane is determined based on the vehicle navigation information or the current traffic conditions, that is, whether the target lane is on the left or right side of the current lane. The direction of the navigation lane switch can also be determined based on the position, speed and road conditions of other vehicles. After the direction of the navigation lane switch is determined, the trigger result is stored through the driving decision flag information.
[0080] Step S203: Based on the updated driving decision flag information, check whether the vehicle state switching condition is met. If so, the vehicle state switching is performed based on the multi-layer finite state machine. Figure 1 Step S103 of the illustrated embodiment will not be described in detail here.
[0081] In this way, the direction of the navigation lane switch can be determined, and the driving decision flag information can be updated to represent this decision, which can provide clear instructions to the vehicle driving decision system to perform lane switching operations, thereby ensuring safe and smooth vehicle driving.
[0082] In this embodiment, a method for autonomous driving decision making is provided. Figure 3 A flow chart of another method for autonomous driving decision making according to an embodiment of the present invention is shown. Figure 3 As shown, the process includes the following steps:
[0083] Step S301, obtain vehicle information and vehicle environment information. Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.
[0084] Step S302: Based on the vehicle information and the vehicle environment information, determine whether a driving decision is needed, obtain a determination result, and update the driving decision flag information based on the determination result. Figure 1 Step S102 of the illustrated embodiment will not be described in detail here.
[0085] Step S303, based on the updated driving decision flag information, check whether the vehicle state switching condition is met, and if so, perform vehicle state switching based on a multi-layer finite state machine.
[0086] Specifically, the above step S303 includes:
[0087] Step S3031, under the condition that the updated driving decision flag information indicates that a lane switch is to be performed, it is determined whether a target lane for lane switching exists, and if the target lane exists, it is determined whether the target lane is a variable lane.
[0088] In this step, the direction of lane switching, such as changing lanes to the left or to the right, is determined based on the updated driving decision flag information. The vehicle perception system can detect whether the target lane exists, and the position and width of the target lane can be determined by analyzing sensor data, identifying road markings or lane markings, etc.
[0089] If the target lane exists, it can be further determined whether the target lane is a variable lane. The variable lane may have special road markings or signal indications, such as LED indicators or lane use signs, etc., and the navigation information may also be referred to, which may include information about the variable lane.
[0090] Step S3032: If the target lane is a changeable lane, the vehicle state is switched to a lane change preparation state.
[0091] In this step, if it is determined that the target lane allows the vehicle to change lanes, a command can be sent to the vehicle control system to switch the vehicle state to the lane change preparation state. In the lane change preparation state, the indicator lights and signal lights of the changeable lanes and the vehicle's environment information can be continuously monitored to wait for the right time to change lanes. The right time to change lanes may include sufficient space in the target lane, the speed and position of the surrounding vehicles being conducive to lane change, etc.
[0092] Step S3033: If the target lane is not changeable, the vehicle state is switched to a lane change waiting state.
[0093] In this step, the situations where lane change is not allowed include the target lane being occupied, the traffic light prohibiting lane change, or obstacles on the lane. If the target lane does not allow the vehicle to change lanes, a command can be sent to the vehicle control system to switch the vehicle state to the lane change waiting state. In the lane change waiting state, the target lane and the vehicle's environment information can be continuously monitored to wait for the improvement of lane change conditions.
[0094] This helps ensure the vehicle makes correct decisions and drives safely under complex road conditions.
[0095] In some optional implementations, determining whether the target lane is a variable lane in step S3031 includes:
[0096] Step a1: determine whether it is possible to change lanes to the target lane based on traffic signals and obstacle information.
[0097] In this step, the traffic signals obtained include the current signal and whether there is a signal that is about to change. Obstacles in the target lane are identified, such as parked vehicles, pedestrians, or construction areas. Determine whether the traffic signal allows lane changes at the current location. If the traffic light indicates that lane changes are prohibited, lane changes are not allowed. If the traffic light allows lane changes, the situation of obstacles is evaluated, and the nature, location, and dynamics of obstacles on the target lane are analyzed to determine whether the obstacles will affect the safety of lane changes, including whether there is enough time and space to bypass or avoid the obstacles. If the obstacles make lane changes unsafe or impossible, lane changes are not made.
[0098] Step a2, when the target lane is a variable lane, based on whether the relative position and / or relative speed of other vehicles on the target lane side and the current vehicle meet preset requirements, a judgment result of whether the target lane is a variable lane is obtained.
[0099] In this step, the relative position of the current vehicle and other vehicles in the target lane, including the lateral distance and the longitudinal distance, can be calculated. The relative speed of the current vehicle and other vehicles in the target lane, that is, the difference between the speeds of the two, can also be calculated. Both the relative position and the relative speed can also be calculated. Based on the safety performance and driving strategy of the vehicle, a set of relative position and relative speed requirements can be preset. These requirements may include a minimum safe distance or a maximum relative speed difference, etc., to ensure the safety of the lane change process.
[0100] If the preset requirements are met, the target lane is a variable lane; if the preset requirements are not met, the target lane is a non-variable lane.
[0101] In this way, a small decision tree is used to make a logical judgment on whether the target lane is a variable lane, and the segmented jump logic is abstracted. When secondary development is required to introduce new jump logic, the scalability is also better.
[0102] In some optional implementations, the above step S3032 includes:
[0103] Step b1, if the target lane is a variable lane, obtain a preset number of frames of target lane images based on the vehicle's environmental information. If the target lane images indicate that the target lane is a variable lane, the vehicle state is switched from a lane change preparation state to a lane change execution state.
[0104] In this step, the acquired target lane image is processed and analyzed, and whether the target lane is a variable lane is determined based on the result of the image analysis. If the target lane is a variable lane and lane change is currently allowed, the vehicle state is switched from the lane change preparation state to the lane change execution state. In the lane change execution state, the vehicle will start to execute lane change operations, such as adjusting speed or steering.
[0105] In this way, the vehicle state switches continuously from the lane change preparation state to the lane change execution state, which makes the autonomous driving decision-making method more continuous, more suitable for handling the continuous process of autonomous driving, and can also ensure the safety of lane changes.
[0106] In some optional implementations, the above step S3033 includes:
[0107] Step c1: if the situation where lane change is not allowed still exists after a preset number of waiting frames of the image obtained based on the vehicle's environment information, the lane switching is canceled and the vehicle state is switched to the cruising state.
[0108] In this step, the lane change is canceled and the vehicle stops performing operations related to lane change, such as adjusting the speed or steering, etc. The vehicle switches from the lane change preparation state to the cruising state. In the cruising state, the vehicle continues to drive according to the traffic conditions of the current lane and continuously monitors the surrounding environment so as to make corresponding driving decisions when necessary.
[0109] In this way, the vehicle state switches continuously from the lane change preparation state to the cruising state, realizing the jump relationship of the vehicle's multiple states, making the continuity of the autonomous driving decision-making method better, more suitable for handling the continuous process of autonomous driving, and also ensuring the safety of vehicle driving.
[0110] In some optional embodiments, in the above step S303, switching the vehicle state based on the multi-layer finite state machine also includes: switching the vehicle state to a cruising state, a left lane change state or a right lane change state; wherein the left lane change state includes a left lane change waiting state, a left lane change preparation state, a left lane change execution state, and a left lane change cancellation state; the right lane change state includes a right lane change waiting state, a right lane change preparation state, a right lane change execution state, and a right lane change cancellation state.
[0111] Figure 4 FIG. 2 shows a schematic diagram of the structure of a multi-layer finite state machine provided by the present invention. Figure 4 As shown, the multi-layer finite state machine (FSM) has a first level including: an operating state 41 (ON) and an end state 42 (OFF). In the second level, the operating state 41 includes: a cruising state 411 (None), a left lane change state 412 (Left), and a right lane change state 413 (Right). In the third level, the left lane change state 412 includes: a left lane change waiting state 4121 (LeftWait), a left lane change preparation state 4122 (LeftReady), a left lane change execution state 4123 (LeftProcess), and a left lane change cancellation state 4124 (LeftBack); the right lane change state 413 includes: a right lane change waiting state 4131 (RightWait), a right lane change preparation state 4132 (RightReady), a right lane change execution state 4133 (RightProcess), and a right lane change cancellation state 4134 (RightBack).
[0112] Compared with the traditional state machine and decision tree methods, the method for autonomous driving decision-making provided by the embodiment of the present invention is more suitable for handling the complex states of autonomous driving scenarios, and through the primary and secondary combination of vehicle status and vehicle driving decision flags, code reuse can be achieved, thereby maintaining a low amount of code.
[0113] In some optional implementations, vehicle information and vehicle environment information can be obtained based on data cache. Based on the unified data cache, data information can be maintained in real time and dynamically, and data can be exchanged with other modules. Figure 5 FIG. 2 shows a schematic diagram of the structure of the vehicle driving decision system provided by the present invention. Figure 5 As shown, the vehicle driving decision system includes a state machine 51 and data 52. The state machine 51 includes: a multi-layer finite state machine 512 and a jump logic 511. Among them, the multi-layer finite state machine 512 is the decision-making backbone, and the jump logic 511 is the switching logic between different vehicle states. The data cache 522 is used to save the vehicle information and the vehicle environment information of the current frame and the historical frame, and to interact with other systems. Based on the driving decision flag information and the vehicle information and the vehicle environment information obtained from the data cache, the driving decision judgment is performed, and the judgment result is stored through the driving decision flag information. At the same time, the judgment result is also stored in the data cache, and the judgment result is also input into the jump logic for inspection, and then the state jump of the multi-layer finite state machine is performed.
[0114] The data cache and historical record function of driving decision flag information can make the method used for autonomous driving decision-making more continuous and more suitable for handling the continuous process of autonomous driving.
[0115] In some optional embodiments, the unified data cache may include members and methods. Specifically, the members may include: ramp distance (ramp_distance_), obstacle list (obstacle_list_), nearest vehicle on the path (cipv_), lanes (lanes_), target lane (target_lane_), lane change completion (change_lane_finish_), turn light on (turn_light_on), turn light on history information (turn_light_on_history), main target vehicle lane change (cipv_change_lane_), and global path planning (routing_change_lane_).
[0116] Methods may include: decision data (DecisionData()), lane check (CheckLane()), obstacle check (CheckObstacle()), update lane (UpdateLane()), request vehicle to change lanes (CheckChangeLaneRequest()), locate key points (LocateWayPoint()) and obtain vehicle speed (GetSpeed()), etc.
[0117] When it is necessary to make an autonomous driving decision, the autonomous driving decision node can be instantiated through smart pointers and other forms, memory can be allocated to variable storage, and the parameters of commonly used settings can be obtained by loading a dynamically configurable configuration file. During the normal operation of the vehicle, the obtained vehicle information and the vehicle environment information are preprocessed respectively. For the obstacle information in the vehicle environment, lane modeling and point distribution can be performed to obtain the six or more obstacle vehicles closest to the current vehicle on the left, middle and right lanes. This can reduce the calculation pressure to the greatest extent while meeting other subsequent logical judgment requirements. At the same time, according to the current vehicle situation, it is determined whether it is necessary to trigger automatic lane change. If automatic lane change is triggered, which of the left and right lane changes is better. Based on the input of navigation information, ramp warning distance information and lane information, it is determined whether it is necessary to trigger navigation lane change, and the triggering result is stored through the driving decision flag. After data processing, the state is updated. The update process will call different update functions according to the current state, corresponding to different state switching decision trees.
[0118] Figure 6The schematic diagram of the process of triggering a vehicle from a cruising state to a lane changing state based on the method for automatic driving decision-making provided by the present invention is shown. Figure 6 As shown, step S601: obtaining driving decision flag information, updated lane information, updated obstacle information and updated navigation information, based on the above-mentioned information, obtaining three driving decision flag information corresponding to human-machine interaction lane change information, automatic lane change information and navigation-triggered lane change information; step S602: judging whether to change lanes based on the three driving decision flag information corresponding to S601, if not, maintaining the cruising state, if lane change is required, turning to step S603; step S603: judging whether the vehicle state switching condition is met, the vehicle state switching condition includes checking lanes and obstacles, if the target lane exists, the traffic signal indicates that the target lane is a variable lane, and the relative positions and relative speeds of other vehicles on the target side and the current vehicle meet the safety requirements, the vehicle state is switched to the lane change preparation state, if the vehicle state switching condition is not met, the vehicle state is switched to the lane change waiting state, and the vehicle state switching condition is continuously monitored. If the lane change cannot be performed after the preset number of waiting frames, it is considered that the current road condition does not meet the lane change condition, the lane change requirement is cancelled, and the vehicle state is switched to the cruising state.
[0119] After completing the data processing of one frame, the vehicle driving decision system will send the target speed and target reference line to the downstream planning module, and the planning will perform local path planning and local motion planning based on this.
[0120] Among them, the automatic lane change signal of the autonomous driving vehicle is a signal issued by its lane change assist system (LCAS) or automatic lane change assist (ALC) system to remind or assist the driver to change lanes. These signals may include: warning signals, such as flashing indicator lights, to remind the driver to pay attention to the timing of lane change. Sound prompts, which sound through the vehicle audio system to remind the driver to change lanes. Vibration prompts, such as vibrating the seat, to remind the driver in a tactile way. Voice prompts, through speech synthesis technology, directly tell the driver when to change lanes.
[0121] The method for autonomous driving decision-making provided by the present invention is a part of the high-speed automatic assisted navigation driving (Navigate on Autopilot, referred to as NOA) project. It has undergone multiple rounds of high-intensity tests in a simulation environment together with other functional nodes, and has been deployed on actual vehicles. It can handle multiple scenarios such as main road cruising, ramp cruising, main road interactive lane changing, main road automatic lane changing, main road navigation lane changing, navigation-controlled on and off ramps, etc., as shown in Figure 7. Figure 7 A schematic diagram of a high-speed automatic assisted navigation driving function based on the method for automatic driving decision-making provided by the present invention is shown.
[0122] like Figure 7 As shown, the method for autonomous driving decision-making provided by the present invention can be implemented: Smart navigation-on ramp 701: automatically guide the ramp to merge; main road smart navigation 702: automatically trigger lane change according to high-precision map information and current traffic conditions; Smart navigation-ramp interchange 703: automatically pass through the traffic hub according to high-precision map information; Smart overtaking 704: after the driver triggers automatic lane change to overtake, if the rear vehicle accelerates, it automatically accelerates to complete the overtaking; Smart lane change 705: after the driver triggers automatic lane change, actively searches for safe areas where lanes can be changed, and realizes longitudinal acceleration and deceleration control to assist in completing the lane change process; Smart speed limit 706: automatically adjusts the set speed according to the real-time traffic scene; Smart courtesy 707: automatically avoids large vehicles in adjacent lanes; Smart navigation-off ramp 708: automatically guides the exit ramp.
[0123] The core code files for implementing the method for autonomous driving decision-making provided by the present invention are header files and code files related to the state machine, header files and cache files related to the data cache, in addition to message header files defining the structure and header files of the state machine design template. The design template uses a third-party public library, so it is not included in the node development workload. The work required to develop the code for the entire node is relatively streamlined, and the code volume comparison is shown in Table 2.
[0124] Table 2 Comparison of algorithm code size
[0125]
[0126] The comparative test is mainly carried out in the same simulation environment between the method for autonomous driving decision-making proposed in this paper and the algorithms based on pure decision trees and pure state machines. Since the decision-making algorithm is ultimately applied to simulation scenarios, data indicators are less used for comparison, and simulation scenario test instances are used more often for comparison, and the performance of the algorithm in each instance is manually evaluated.
[0127] Figure 8 The figure shows the error of the pure decision tree-based decision algorithm under simulation test. Figure 8 As shown in the figure, due to the poor continuity of the decision algorithm based on the pure decision tree, a left lane change was triggered in the previous frame, while the current frame only considers the vehicle's driving position and the obstacle vehicle in front, and does not consider the vehicle accelerating from the left rear. Therefore, the decision result is to continue the lane change action, which eventually leads to a collision.
[0128] Fig. 9 A schematic diagram showing a situation in which a vehicle triggers a lane change request based on a pure state machine decision algorithm but the conditions are not met, resulting in the vehicle exceeding the drivable area. Fig. 9As shown in the figure, there are vehicles parked on the left, middle and right in front. At this time, the decision should be to issue a command to slow down the following vehicle to a stop. However, due to the pure state machine design, it failed to correctly switch back to the cruising state from the lane change. Therefore, a reference line was issued to continue changing lanes to the right, which eventually caused the vehicle to exceed the driving area and bypass the obstacle from the non-motorized vehicle lane on the right.
[0129] Fig.10 A schematic diagram of a vehicle passing through a ramp with an incorrect reference line based on a pure state machine decision algorithm is shown. Fig.10 As shown in the figure, when the vehicle passes a ramp that it does not need to enter, the pure state machine algorithm erroneously triggers a lane change to the right, thereby giving a ramp reference path that deviates from the main road. When passing the ramp entrance, the vehicle receives information that lane changes are not allowed on all lane lines, which ultimately causes the vehicle to lose control.
[0130] Fig.11 FIG. 1 is a schematic diagram showing a simulation demonstration process of a method for autonomous driving decision-making provided by an embodiment of the present invention. Fig.11 As shown, the method for autonomous driving decision-making provided by an embodiment of the present invention is based on simulation software Carla and ROS2RVIZ, wherein the lower left corner is the carla simulation interface, which displays the actual scene from the vehicle's perspective, wherein the blue fluorescent line represents the local path output by the planning module, the upper left is the global perspective, which is used for interaction of global path planning, the blue line is the path generated after completing the global path planning, and is also the path that the vehicle is about to travel, the lower right is the local perspective, which displays the obstacle and lane information received by the current vehicle, and visualizes the planned local path, wherein the red line is the predicted movement of other vehicles, and the green line is the local planned path, and the right panel also supports the setting of interactive cruising speed, safety TTC, and the triggering of interactive lane change and lane change cancellation.
[0131] Fig.12 A schematic diagram showing the automatic lane change that is about to be triggered in the method for autonomous driving decision-making provided in an embodiment of the present invention is shown. Fig.13 FIG. 1 is a schematic diagram showing a method for triggering a left lane change in an automatic driving decision-making method provided in an embodiment of the present invention. Fig.12 and Fig.13 As shown in the figure, the scenario of triggering automatic lane change is that there is a vehicle moving ahead and its speed is significantly lower than that of our vehicle. At this time, the lane change demand caused by the traffic flow will be triggered. After comprehensive judgment of the left and right lanes, since there is no car on the left, the driving conditions are better than the current lane, and the current lane is better than the right lane, thus triggering the left lane change and overtaking.
[0132] Fig.14 A schematic diagram is shown before triggering a lane change in a method for autonomous driving decision-making provided in an embodiment of the present invention. Fig.15 FIG. 1 is a schematic diagram showing a method for manually lighting a light to trigger an interactive lane change in a method for autonomous driving decision-making provided by an embodiment of the present invention. Fig.14 and Fig.15 As shown in the figure, in the scenario of manually triggering the interactive lane change, the user can trigger and cancel the lane change through the HMI button.
[0133] Fig.16 A schematic diagram is shown before navigation triggers lane change in the method for autonomous driving decision-making provided in an embodiment of the present invention. Fig.17 FIG. 1 is a schematic diagram showing a navigation-triggered lane change in a method for autonomous driving decision-making provided in an embodiment of the present invention. Fig.16 and Fig.17 As shown, in the process of navigation triggering lane change, when the distance to the ramp to be entered is less than the preset parameter, the algorithm logic of the method for autonomous driving decision-making provided by the embodiment of the present invention will suppress the lane change demand from other sources, maintain the current vehicle driving, and make continuous lane changes to the lane that can enter the ramp when the conditions are met, in preparation for entering the ramp. The larger the preset parameter, the smaller the probability of failure to enter the ramp due to being blocked by other vehicles, but at the same time, the vehicle's degree of freedom is also smaller when cruising on the main road away from the ramp.
[0134] Fig.18 A schematic diagram of entering a ramp according to a navigation path according to a method for autonomous driving decision-making provided by an embodiment of the present invention is shown. Fig.19 FIG. 1 is a schematic diagram showing a method for autonomous driving decision-making according to an embodiment of the present invention, and driving off a ramp according to navigation. Fig.18 and Fig.19 As shown, the vehicle correctly enters and exits the ramp according to the navigation path based on the method for automatic driving decision-making provided by an embodiment of the present invention, and smoothly completes the switch between the main road and the ramp.
[0135] Table 3 Comparison of test cases of three methods
[0136]
[0137] Table 3 shows a comparison between the method for autonomous driving decision-making provided by an embodiment of the present invention and pure decision tree and pure state machine test cases. As shown in Table 3, the method for autonomous driving decision-making provided by an embodiment of the present invention is overall superior to the other two methods.
[0138] In this embodiment, a device for autonomous driving decision-making is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and will not be repeated here. As used below, the term "module" can implement a combination of software and / or hardware for a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0139] Fig. 20FIG. 1 is a schematic diagram showing a structure of a device for autonomous driving decision-making provided by an embodiment of the present invention. This embodiment provides a device for autonomous driving decision-making, such as Fig. 20 As shown, including:
[0140] The data cache module 2001 is used to obtain vehicle information and vehicle environment information.
[0141] The judgment module 2002 is used to judge whether a driving decision is needed based on the vehicle information and the vehicle environment information, obtain a judgment result, and update the driving decision flag information based on the judgment result.
[0142] The state switching module 2003 is used to check whether the vehicle state switching condition is met based on the updated driving decision flag information, and if so, perform vehicle state switching based on a multi-layer finite state machine.
[0143] In some optional implementations, the determination module 2002 includes:
[0144] The first judgment unit is used to judge whether it is necessary to switch the navigation lane based on the lane information, the vehicle navigation information and the obstacle information.
[0145] The second judgment unit is used to determine the direction of the navigation lane switching if the navigation lane switching is required, and update the driving decision flag information to a value representing the navigation lane switching.
[0146] In some optional implementations, the state switching module 2003 includes:
[0147] The first state switching unit is used to determine whether a target lane for lane switching exists under the condition that the updated driving decision flag information indicates that a lane switch is to be performed, and if the target lane exists, determine whether the target lane is a variable lane.
[0148] The second state switching unit is used to switch the vehicle state to a lane change preparation state if the target lane is a changeable lane.
[0149] The third state switching unit is used to switch the vehicle state to a lane change waiting state if the target lane is in a situation where lane change is not possible.
[0150] In some optional implementations, the third state switching unit includes:
[0151] The third state switching subunit is used to cancel the lane switching and switch the vehicle state to the cruising state if the situation where the lane cannot be changed still exists after a preset number of waiting frames of the image obtained based on the vehicle's environmental information.
[0152] In some optional implementations, the second state switching unit includes:
[0153] The second state switching subunit is used to obtain a preset number of frames of target lane images based on the vehicle's environmental information if the target lane is a variable lane. If the target lane image indicates that the target lane is a variable lane, the vehicle state is switched from a lane change preparation state to a lane change execution state.
[0154] In some optional implementations, the first state switching unit includes:
[0155] The first state switching subunit is used to determine whether it is possible to change lanes to the target lane based on traffic signals and obstacle information; when the target lane is a variable lane, the determination result of whether the target lane is a variable lane is obtained based on whether the relative position and / or relative speed of other vehicles on the target lane side and the current vehicle meet preset requirements.
[0156] In some optional implementations, the state switching module 2003 further includes:
[0157] The fourth state switching unit is used to switch the vehicle state to a cruising state, a left lane change state or a right lane change state; wherein the left lane change state includes a left lane change waiting state, a left lane change preparation state, a left lane change execution state, and a left lane change cancellation state; the right lane change state includes a right lane change waiting state, a right lane change preparation state, a right lane change execution state, and a right lane change cancellation state.
[0158] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0159] The device for autonomous driving decision-making in this embodiment is presented in the form of a functional unit, where the unit refers to an application specific integrated circuit (ASIC) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0160] The embodiment of the present invention also provides a computer device having the above Fig. 20 The device shown is used for autonomous driving decision-making.
[0161] See also Fig.21 , Fig.21 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Fig.21As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process instructions executed in the computer device, including instructions stored in or on the memory to display graphical information of a graphical user interface on an external input / output device (such as a display device coupled to an interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig.21 A processor 10 is taken as an example.
[0162] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0163] The aforementioned memory 20 stores instructions executable by at least one processor 10, so that the aforementioned at least one processor 10 executes the method shown in the above embodiment.
[0164] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0165] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0166] The computer device also includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Fig.21 The example of connecting through bus is taken in the following.
[0167] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator rod, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (such as a light emitting diode) and a tactile feedback device (such as a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.
[0168] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0169] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.
[0170] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A method for autonomous driving decision making, characterized in that: The method comprises: Obtain vehicle information and vehicle environment information; Based on the vehicle information and the vehicle environment information, determine whether a driving decision needs to be made, obtain a determination result, and update the driving decision flag information based on the determination result; Based on the updated driving decision flag information, check whether the vehicle state switching conditions are met. If so, the vehicle state is switched based on a multi-layer finite state machine.
2. The method according to claim 1, characterized in that The vehicle environment information includes lane information, vehicle navigation information and obstacle information; based on the vehicle information and the vehicle environment information, determining whether a driving decision is required, obtaining a determination result, and updating the vehicle driving decision flag information based on the determination result, including: Based on the lane information, the vehicle navigation information and the obstacle information, determining whether navigation lane switching is required; If the navigation lane switch is required, the direction of the navigation lane switch is determined, and the driving decision flag information is updated to a value indicating the navigation lane switch.
3. The method according to claim 2, characterized in that Based on the updated driving decision flag information, check whether the vehicle state switching conditions are met. If so, the vehicle state switching is performed based on a multi-layer finite state machine, including: Under the condition that the updated driving decision flag information indicates that a lane switch is to be performed, determining whether a target lane for the lane switch exists, and if the target lane exists, determining whether the target lane is a variable lane; If the target lane is the changeable lane, the vehicle state is switched to a lane change preparation state; If the target lane is not changeable, the vehicle state is switched to a lane change waiting state.
4. The method according to claim 3, characterized in that If the target lane is not changeable, the vehicle state is switched to a lane change waiting state, including: If the situation where the lane cannot be changed still exists after a preset number of waiting frames of the image obtained based on the environmental information of the vehicle, the lane switching is canceled and the vehicle state is switched to the cruising state.
5. The method according to claim 3, characterized in that: If the target lane is the changeable lane, the vehicle state is switched to a lane change preparation state, including: If the target lane is the variable lane, a preset number of frames of target lane images obtained based on the vehicle's environmental information are obtained; if the target lane images indicate that the target lane is the variable lane, the vehicle state is switched from the lane change preparation state to the lane change execution state.
6. The method according to claim 3, characterized in that Determining whether the target lane is a variable lane includes: Determining whether to change lanes to the target lane based on the traffic signal and the obstacle information; In the case where the target lane is the variable lane, a judgment result of whether the target lane is the variable lane is obtained based on whether the relative positions and / or relative speeds of other vehicles on the target lane side and the current vehicle meet preset requirements.
7. The method according to claim 1, characterized in that Vehicle state switching based on multi-layer finite state machine includes: Switching the vehicle state to a cruising state, a left lane change state, or a right lane change state; Among them, the left lane change state includes a left lane change waiting state, a left lane change preparation state, a left lane change execution state, and a left lane change cancellation state; the right lane change state includes a right lane change waiting state, a right lane change preparation state, a right lane change execution state, and a right lane change cancellation state.
8. A device for autonomous driving decision making, characterized in that: The device comprises: A data cache module is used to obtain vehicle information and vehicle environment information; A judgment module, used to judge whether a driving decision needs to be made based on the vehicle information and the environment information of the vehicle, obtain a judgment result, and update the driving decision flag information based on the judgment result; The state switching module is used to check whether the vehicle state switching conditions are met based on the updated driving decision flag information, and if so, the vehicle state is switched based on a multi-layer finite state machine.
9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the method for autonomous driving decision-making according to any one of claims 1 to 7 by executing the computer instructions.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, which are used to enable a computer to execute the method for autonomous driving decision-making according to any one of claims 1 to 7.
Citation Information
Cited By
Intelligent driving real-time task scheduling method based on multi-source information aggregation
CN120606867A