Vehicle control method and apparatus, electronic device, and computer readable storage medium
Patent Information
- Application Number
- PCT/CN2025/147111
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-02-28
- Filing Date
- 2025-12-30
- Publication Date
- 2026-09-03
Smart Images

Figure CN2025147111_03092026_PF_FP_ABST
Abstract
Description
Vehicle control methods, devices, electronic equipment and computer-readable storage media
[0001] This application claims priority to Chinese Patent Application No. 202510238627.9, filed on February 28, 2025, entitled "Vehicle Control Method, Apparatus, Electronic Device and Computer-Readable Storage Medium", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of autonomous driving technology, and in particular to a vehicle control method, device, electronic device, and computer-readable storage medium. Background Technology
[0003] As a core component of autonomous vehicles, the decision-making system plays a crucial role in enhancing driving safety and environmental adaptability. Based on its perception of the external environment and assessment of internal states, the decision-making system outputs driving behaviors that meet preset requirements, and the performance of these behaviors directly impacts the final effect of autonomous driving. Therefore, the decision-making system occupies a vital position in autonomous driving.
[0004] Most research on autonomous driving decision-making modules in related technologies is based on a single objective, such as generating behavioral intentions or trajectory outputs based on environmental information. This approach struggles to comprehensively handle the switching needs of multiple modes in complex and dynamic traffic scenarios. Furthermore, the decision-making frameworks in these technologies are mostly designed for single scenarios, making it difficult to adapt to diverse driving needs. Deep learning-based decision-making methods rely on large amounts of high-quality driving data and are difficult to iterate and update rapidly in the absence of transparency and interpretability. Therefore, autonomous vehicles are unable to cope with complex traffic environments and adapt to diverse driving requirements. Summary of the Invention
[0005] This application provides a vehicle control method, device, electronic device, and computer-readable storage medium, which can improve the adaptability of the vehicle to be controlled in complex driving scenarios.
[0006] The technical solution of this application embodiment is implemented as follows:
[0007] This application provides a vehicle control method, the method comprising: acquiring vehicle data of a vehicle to be controlled at the current moment and map information of the current location of the vehicle to be controlled; performing information conversion on the vehicle data and the map information to obtain lane markings, lane-level road segment data, and road signs at the current location; determining the target driving scenario to which the vehicle to be controlled belongs at the current moment based on the lane markings, the lane-level road segment data, and the road signs; determining the planned trajectory of the vehicle to be controlled based on the target driving scenario and the lane-level road segment data; and controlling the vehicle to be controlled to travel according to the planned trajectory.
[0008] This application provides a vehicle control device, comprising: an information acquisition module for acquiring vehicle data collected at the current moment and map information of the current location of the vehicle to be controlled; an information conversion module for converting the vehicle data collected and the map information to obtain lane markings, lane-level road segment data, and road signs at the current location; a scene determination module for determining the target driving scene to which the vehicle to be controlled belongs at the current moment based on the lane markings, the lane-level road segment data, and the road signs; a trajectory determination module for determining the planned trajectory of the vehicle to be controlled based on the target driving scene and the lane-level road segment data; and a control module for controlling the vehicle to be controlled to travel according to the planned trajectory.
[0009] This application provides an electronic device, which includes: a memory for storing computer-executable instructions or computer programs; and a processor for executing the computer-executable instructions or computer programs stored in the memory to implement the vehicle control method provided in this application.
[0010] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the vehicle control method provided in this application when executed by a processor.
[0011] This application provides a computer program product, including a computer program or computer-executable instructions. When the computer program or computer-executable instructions are executed by a processor, they implement the vehicle control method provided in this application.
[0012] The embodiments of this application have the following beneficial effects:
[0013] First, the system acquires vehicle and map information for the vehicle to be controlled at the current moment. Then, it obtains lane markings, lane-level road segment data, and road signs from the vehicle and map information. Next, using these information, it determines the target driving scenario for the vehicle at the current moment, thus classifying the driving scenario of the vehicle in complex traffic environments. Then, based on the target driving scenario and lane-level road segment data, it determines the planned trajectory of the vehicle. Finally, it controls the vehicle to travel according to the planned trajectory. This allows for corresponding solutions to different driving scenarios, enabling refined planning of the vehicle's trajectory and improving its adaptability in complex driving situations. Attached Figure Description
[0014] Figure 1 is a schematic flowchart of an optional vehicle control method provided in an embodiment of this application;
[0015] Figure 2 is another optional flowchart of the vehicle control method provided in the embodiments of this application;
[0016] Figure 3 is a schematic diagram of the information conversion implementation process provided in the embodiments of this application;
[0017] Figure 4 is a schematic diagram of an implementation process for determining a planned trajectory provided in an embodiment of this application;
[0018] Figure 5 is a schematic diagram of the preset behavior tree provided in the embodiments of this application;
[0019] Figure 6 is a schematic diagram of another implementation process for determining the planned trajectory provided in an embodiment of this application;
[0020] Figure 7 is a schematic diagram of the implementation process of hierarchical decision-making for autonomous driving provided in an embodiment of this application;
[0021] Figure 8 is a schematic diagram of scene switching provided in an embodiment of this application;
[0022] Figure 9 is a schematic diagram of the architecture for hierarchical decision-making in autonomous driving provided in an embodiment of this application;
[0023] Figure 10 is a structural block diagram of a vehicle control device provided in an embodiment of this application;
[0024] Figure 11 is a schematic diagram of the structure of the electronic device provided in an embodiment of this application. Detailed Implementation
[0025] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0026] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0027] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0028] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0029] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the embodiments of this application is for the purpose of describing the embodiments of this application only and is not intended to limit this application.
[0030] In the implementation of this application, the collection and processing of relevant data should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.
[0031] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.
[0032] 1) Responding to: used to indicate the conditions or states on which the operation is performed depends. When the conditions or states on which it depends are met, one or more operations can be performed in real time or with a set delay. Unless otherwise specified, there is no restriction on the order in which the multiple operations are performed.
[0033] 2) Autonomous driving: refers to the ability of a vehicle to autonomously control its movement through computer systems, sensors, and algorithms without human driver intervention.
[0034] 3) Task Layer: The highest level of the autonomous driving decision-making module, the task layer defines the overall tasks and objectives that the vehicle needs to complete. The task layer is responsible for breaking down high-level tasks into more specific sub-tasks and assigning these sub-tasks to the scenario layer and behavior layer.
[0035] 4) Scenario Layer: The intermediate layer of the autonomous driving decision-making module, the scenario layer handles specific driving scenarios and environmental conditions. Based on the sub-tasks assigned by the task layer and combined with current environmental information (such as road type, traffic flow, weather conditions, etc.), the scenario layer generates a driving strategy suitable for the current scenario. The scenario layer needs to identify and understand different driving scenarios and adjust its strategies to adapt to changes in the driving scenarios.
[0036] 5) Behavior Layer: The lowest level of the autonomous driving decision-making module. The scenario layer directly controls the specific behavior of the vehicle. Based on the strategies provided by the scenario layer, the behavior layer generates specific control commands, such as acceleration, deceleration, and steering. The behavior layer needs to respond to environmental changes in real time and ensure that the vehicle's behavior complies with safety standards and traffic rules.
[0037] To better understand the vehicle control method provided in the embodiments of this application, the vehicle control methods in related technologies will be described below.
[0038] In related technologies, research on autonomous driving decision-making modules is mostly based on a single objective, such as generating behavioral intentions or trajectory outputs based on environmental information, but it usually ignores the collaborative working mechanism of the task layer, scenario layer, and behavior layer. Autonomous driving decision-making based on a single objective makes it difficult to comprehensively handle the needs of switching between multiple modes in complex and dynamic traffic scenarios.
[0039] To address the problems existing in related technologies, this application provides a vehicle control method, device, electronic device, computer-readable storage medium, and computer program product, which can improve the adaptability of the vehicle to be controlled in complex driving scenarios. Specifically, firstly, vehicle data and map information of the vehicle to be controlled at the current moment are acquired; then, lane markings, lane-level road segment data, and road signs are obtained from the vehicle data and map information; next, the target driving scenario to which the vehicle to be controlled belongs at the current moment is determined through the lane markings, lane-level road segment data, and road signs. This allows for the determination of the specific driving scenario in which the vehicle to be controlled is located at the current moment, thereby refining the decision-making process in complex traffic environments; then, the planned trajectory of the vehicle to be controlled is determined based on the target driving scenario and lane-level road segment data; finally, the vehicle to be controlled is controlled to drive according to the planned trajectory. In this way, corresponding solutions can be adopted for different driving scenarios, thereby refining the planning of the vehicle's driving trajectory and improving the adaptability of the vehicle to be controlled in complex driving scenarios.
[0040] The following describes exemplary applications of the electronic devices provided in the embodiments of this application. These electronic devices can be implemented as various types of terminals such as laptops, tablets, desktop computers, set-top boxes, smartphones, smart speakers, smartwatches, smart TVs, and in-vehicle terminals, or as servers. This application does not impose any limitations on the specific type of electronic device.
[0041] The vehicle control methods provided in the embodiments of this application can be executed by an electronic device, which can be a server or a terminal. That is, the vehicle control methods in the embodiments of this application can be executed by a server, by a terminal, or by interaction between a server and a terminal.
[0042] The vehicle control method provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0043] Figure 1 is a schematic flowchart of an optional vehicle control method provided in an embodiment of this application. This method can be applied to electronic devices. The following description uses an electronic device as a server as an example. As shown in Figure 1, the method includes the following steps S101 to S105:
[0044] Step S101: Obtain the vehicle data collection information of the vehicle to be controlled at the current moment and the map information of the current location of the vehicle to be controlled.
[0045] The vehicle to be controlled can be a vehicle with autonomous driving capabilities. For example, it could be a driverless delivery robot or an autonomous vehicle with driver assistance. Autonomous vehicles are classified into levels 0 to 5 according to their degree of automation, where level 0 represents no automation and level 5 represents full automation. Fully Human Driving (Level 0): A vehicle completely controlled by a human driver. Driver Assistance (Level 1): Controlled by a human driver, but some functions are automated, such as adaptive cruise control and automatic braking in emergencies. Partial Automated Driving (Level 2): The vehicle can automate steering, acceleration, and deceleration, but requires a human driver to monitor road conditions and be ready to take over control at any time. Conditional Automated Driving (Level 3): The vehicle can drive autonomously, but requires human driver intervention in certain situations. Highly Automated Driving (Level 4): The vehicle can drive fully autonomously in certain specific scenarios without human driver monitoring, such as an autonomous truck on a highway. Fully Automated Driving (Level 5): The vehicle can drive fully autonomously regardless of environment and conditions, without the need for a human driver.
[0046] Vehicle information can be collected by sensors installed on the vehicle. For example, image sensors collect image data, including color images, depth images, and stereo images. Image sensors can be used to identify road signs, traffic lights, pedestrians, vehicles, and other obstacles. Radar sensors can collect information such as the distance between the vehicle and obstacles, the vehicle's speed, and the vehicle's azimuth angle. LiDAR can collect three-dimensional point cloud data of the surrounding environment, providing accurate distance and shape information of obstacles. Ultrasonic sensors can collect distance information of nearby obstacles and can be used for parking assistance to detect the distance between the vehicle and surrounding objects. Global Positioning System (GPS) can collect the vehicle's geographical location information.
[0047] Map information can be obtained from the navigation software used by the vehicle to be controlled. The maps configured in the navigation software can be navigation maps, high-precision maps, and maps specifically for autonomous driving, etc.
[0048] Step S102: Convert the vehicle information and map information to obtain the lane markings, lane-level road segment data, and road signs at the current location.
[0049] Vehicle-collected information includes image data, point cloud data, and latitude and longitude data. Servers cannot process these different data structures uniformly, necessitating the conversion of this information into the data structure types required for subsequent scene and behavioral decisions. Raw high-precision map information typically contains very detailed geographic features and road attribute information, including lane geometry, traffic signs, traffic lights, and intersection layouts. However, to achieve path planning for vehicles in actual driving, this high-precision map information needs to be transformed to generate a simplified routing map. For example, continuous lane geometry can be simplified to straight line segments, and complex intersection layouts can be simplified to basic connections. Key features related to path planning and driving decisions, such as lane centerlines, lane boundaries, traffic signs, and intersection types, can be extracted from the high-precision map. Nodes (such as the start and end points of intersections) and edges (such as vehicle lane segments) can then be constructed in the routing map.
[0050] By converting vehicle data and map information, the system can obtain the lane markings, lane-level road segment data, and road signs for the current location of the vehicle to be controlled. Lane markings are markings or instructions on the road used to distinguish different lanes or indicate lane rules. Lane markings typically include road lines, arrows, and text labels, and are part of the traffic sign system used to guide correct road use and ensure traffic order and safety. Examples include: white dashed lines, white solid lines, yellow solid lines, yellow dashed lines, arrow markings, and text labels. Road signs are installed beside or above the road to provide information, instructions, warnings, or prohibitions. Road signs can be graphic symbols, text, or a combination of both. Examples include: directional signs, location distance signs, straight-ahead signs, left-turn or right-turn signs, construction ahead signs, school ahead signs, no-entry signs, speed limit signs, lane restriction signs, yield signs, emergency stopping lane signs, and pedestrian crossing signs. Lane-level road segment data can be stored in a map database, containing detailed attribute information about each lane on the road. For example: Lane centerline: the coordinates of the lane's centerline (usually expressed in latitude and longitude or a local coordinate system); Lane boundary lines: the coordinates of the lane's left and right boundary lines; Lane width: the width of the lane (in meters); Lane curvature: the degree of curvature of the lane (e.g., straight, curved, curve radius, etc.); Lane gradient: the gradient information of the lane (e.g., uphill, downhill, flat); Lane type: the purpose or type of the lane (e.g., straight lane, left-turn lane, right-turn lane, bus lane, emergency lane, etc.); Lane direction: the direction of travel of the lane (e.g., one-way, two-way); Lane number: the unique identifier of the lane (e.g., "Lane 1", "Lane 2"); Lane connection relationship: the connection relationship between the current lane and adjacent lanes (e.g., merging, separating, intersecting, etc.). By parsing lane-level road segment data, lane markings and road signs can be obtained.
[0051] Step S103: Based on lane markings, lane-level road segment data, and road signs, determine the target driving scenario to which the vehicle to be controlled belongs at the current moment.
[0052] The target driving scenario can include free navigation scenarios and multi-lane scenarios.
[0053] A multi-lane scenario refers to a road with two or more parallel lanes at the current moment. Multi-lane scenarios typically occur in busy areas such as highways, urban arterial roads, and intersections. Vehicles can travel in different lanes, and these lanes may have different functions, such as straight-ahead lanes, left-turn lanes, right-turn lanes, and bus lanes. In multi-lane scenarios, vehicles may need to frequently change lanes, turn, or enter ramps. Traffic signs and markings are also more complex.
[0054] Free navigation scenarios can include lane entry scenarios, lane exit scenarios, parking scenarios, and high-curvature road segment scenarios. Lane entry scenarios include stop-and-go scenarios and ramp merging into the main road scenarios; lane exit scenarios include parking at the side of the road scenarios and main road merging into ramp scenarios. These are explained in detail below. A stop-and-go scenario refers to a vehicle transitioning from a stationary state (such as parking or waiting) to a moving state and merging into traffic flow. Stop-and-go scenarios can occur at traffic lights, stop signs, or congested areas. A ramp merging into the main road scenario refers to a vehicle entering the main road of a highway or urban expressway from a ramp (usually a low-speed or acceleration lane). A parking at the side of the road scenario refers to a vehicle decelerating from a moving state and parking at the side of the road. Parking at the side of the road can occur upon arrival at a destination, during temporary stops, or in emergency situations. A parking scenario refers to a vehicle parking in a parking lot or roadside parking space. Parking scenarios typically require precise vehicle control and environmental perception. High-curvature road segment scenarios refer to vehicles driving on road sections with small curve radii. Scenarios involving high curvature can occur on mountain roads, urban curves, or highway ramps. Vehicles need to adjust their speed and direction according to the curvature and gradient of the curve.
[0055] Based on lane markings, lane-level road segment data, and road signs, information such as the relationship between the vehicle to be controlled and the lane, the purpose of the lane, and driving rules can be obtained at the current moment, thereby determining the target driving scenario to which the vehicle to be controlled belongs.
[0056] Step S104: Based on the target driving scenario and lane-level road segment data, determine the planned trajectory of the vehicle to be controlled.
[0057] A vehicle's planned trajectory refers to the path and speed distribution that the vehicle is expected to travel over a future period. The planned trajectory can include two parts: path (spatial information) and speed (temporal information). The path can be the vehicle's travel route over the future and can be represented by a series of discrete points (such as latitude and longitude coordinates or points in a local coordinate system). Speed information can be the vehicle's speed distribution at each point along the path, including acceleration, deceleration, and constant speed. Speed information needs to take into account traffic rules (such as speed limits), vehicle dynamics (such as acceleration limits), and the surrounding environment (such as the speed of vehicles ahead).
[0058] Step S105: Control the vehicle to be controlled to travel according to the planned trajectory.
[0059] After determining the planned trajectory of the vehicle to be controlled, a trajectory tracking algorithm can be used to determine information such as the steering angle, throttle opening, and driving speed of the vehicle. Then, the vehicle is controlled to travel along the planned trajectory based on this information. For example, the trajectory tracking algorithm outputs a steering angle of 5 degrees and a throttle opening of 30%. The vehicle control system transmits the steering angle to the steering motor and the throttle opening to the throttle motor, causing the vehicle to travel along the planned trajectory.
[0060] In this embodiment, firstly, vehicle information and map information of the vehicle to be controlled at the current moment are acquired; then, lane markings, lane-level road segment data, and road signs are obtained from the vehicle information and map information; next, the target driving scenario of the vehicle to be controlled at the current moment is determined through the lane markings, lane-level road segment data, and road signs. This allows for the determination of the specific driving scenario of the vehicle to be controlled at the current moment, thereby classifying the driving scenario of the vehicle to be controlled in complex traffic environments; then, the planned trajectory of the vehicle to be controlled is determined based on the target driving scenario and lane-level road segment data; finally, the vehicle to be controlled is controlled to drive according to the planned trajectory. In this way, corresponding solutions can be adopted for different driving scenarios, thereby refining the planning of the vehicle's driving trajectory and improving the adaptability of the vehicle to be controlled in complex driving scenarios.
[0061] Figure 2 is another optional flowchart of the vehicle control method provided in this application embodiment. As shown in Figure 2, the method includes the following steps S201 to S208:
[0062] Step S201: The terminal receives user input.
[0063] User input operations include selection operations or input operations. The selection operation is used to select a task instruction to be sent for the vehicle to be controlled, or the input operation is used to input a task instruction to be sent for the vehicle to be controlled.
[0064] In step S202, the terminal responds to the user's input operation and determines N task instructions for the vehicle to be controlled.
[0065] In this embodiment, the task instructions for the vehicle to be controlled correspond to multiple tasks, and different tasks correspond to different task instructions. Users can input corresponding operations for different tasks. Based on the user's input, the terminal can determine the corresponding task instruction.
[0066] In step S203, the terminal sends N task instructions for the vehicle to be controlled to the server.
[0067] Here, N is an integer greater than or equal to 1.
[0068] In this embodiment, the terminal sends N task instructions for the vehicle to be controlled to the server. The server can control the vehicle according to the received N task instructions for the vehicle to be controlled. Of course, in some embodiments, the server can also actively control the vehicle to be controlled. That is, the server can actively control these vehicles to be controlled.
[0069] The vehicle under control can make autonomous driving decisions through a collaborative mechanism of task layer, scenario layer, and behavior layer. The functions of the task layer, scenario layer, and behavior layer can be implemented through a server. During the initialization phase, the task layer can determine the current high-level task objective based on the input task instructions, such as lane driving, free navigation, demonstration, and teaching tasks. Different task instructions can be set according to the different task objectives. A lane driving task refers to the vehicle driving along a fixed lane according to lane markings and traffic rules. A free navigation task refers to the vehicle autonomously planning and driving a path based on the destination and real-time environmental information without fixed lane constraints. A demonstration task refers to showcasing the functions and performance of the autonomous driving system through a pre-set path. This is typically used for technology demonstration, testing, or teaching. A teaching task refers to allowing the autonomous driving system to learn driving rules or behaviors in a specific scenario through manual operation or demonstration.
[0070] In step S204, the server responds to any task instruction by instructing the vehicle to be controlled to drive in the lane, and obtains the vehicle data collection information of the vehicle to be controlled at the current moment and the map information of the current location of the vehicle to be controlled.
[0071] In this embodiment, when the server receives any one of the N task instructions for the vehicle to be controlled, instructing the vehicle to drive in a lane, it acquires the vehicle's current location data and map information. It should be noted that the step S204, "acquiring the vehicle's current location data and map information," is the same as step S101 above. The implementation details of step S204, "acquiring the vehicle's current location data and map information," will not be elaborated further in this embodiment.
[0072] Steps 203 to 204 allow for a fine division of the task objectives of the vehicle to be controlled, facilitating rapid decision-making and planning under multiple task objectives and thereby improving the adaptability of the vehicle to be controlled in complex driving scenarios.
[0073] In step S205, the server converts the vehicle information and map information to obtain the lane markings, lane-level road segment data, and road signs at the current location.
[0074] In some embodiments, referring to FIG3, FIG3 shows that step S205 can be implemented by the following steps S2051 to S2053:
[0075] Step S2051: Convert the vehicle collected information to obtain the current location information of the vehicle to be controlled.
[0076] In this embodiment, the vehicle to be controlled can be equipped with various sensors, including lidar, cameras, millimeter-wave radar, ultrasonic radar, accelerometers, and gyroscopes. Sensors can collect environmental information around the vehicle from different angles and in different ways. Various sensors convert the collected environmental information into raw data (i.e., vehicle-acquired information). For example, lidar obtains distance information by measuring light reflection time, generating point cloud data; cameras capture optical images; millimeter-wave radar detects the speed and direction of objects, etc. The raw data typically needs to be converted into a usable data format through a series of signal processing steps. First, the raw data can be preprocessed, including denoising and calibration, to improve data quality. For example, removing outliers from point cloud data or correcting camera lens distortion. Then, useful features can be extracted from the raw data. For image data, this may include edge detection, color recognition, and shape recognition. For radar data, this may include speed and direction estimation. Finally, data collected by different sensors can be integrated to obtain a more comprehensive environmental model. Finally, the processed data is encapsulated into a data structure suitable for the autonomous driving decision-making system of the vehicle to be controlled, such as the vehicle's position, speed, acceleration, and the position and motion state of surrounding objects. The data structure types required by the autonomous driving decision-making system can include: perception data: describing objects in the vehicle's surrounding environment, including position, shape, speed, and other attributes; vehicle state data: including the vehicle's own speed, acceleration, position, orientation, and driving state; and position data: such as the latitude and longitude of the vehicle's current location.
[0077] Step S2052: Convert the map information to obtain lane markings, lane-level road segment data, and road signs.
[0078] In this embodiment, map information is transformed into a data structure suitable for the autonomous driving decision-making system of the vehicle to be controlled, which can be lane-level road segment data. For example, the map information originates from high-precision maps, which are typically stored in specific formats (such as OpenDRIVE, Navigation Data Standard (NDS), Lanelet2, etc.). Map parsing tools or libraries (such as the OpenDRIVE parser) can be used to read map files and extract geometric and semantic information from the map. Lane line information is usually stored geometrically in high-precision maps. By transforming the map information, lane-level road segment data is obtained, and the lane-level road segment data is parsed to obtain information such as lane markings and road signs. For example, the center line and boundary lines (left and right boundaries) of lane lines. The geometric coordinates of the lane lines (such as a series of points or curves) can be extracted, which describe the shape and position of the lane lines. The type of lane lines (such as solid lines, dashed lines, double yellow lines, etc.), color (such as white, yellow), and width can also be extracted. The connection relationships between lanes can also be extracted, such as how lanes branch, merge, or intersect. Lane markings and road signs (such as arrows, text, stop lines, etc.) are also stored in high-precision maps in geometric shapes (such as polygons or point sets). The location and shape information of lane markings and road signs can be extracted. The types of lane markings and road signs (such as straight arrows, left-turn arrows, stop lines, pedestrian crossings, etc.) can be extracted. The colors and meanings of lane markings and road signs (such as speed limit values for speed limit signs) can also be extracted. Finally, the extracted lane lines, lane markings, and other information are converted into data structures usable by autonomous driving systems (such as lightweight text data exchange format (JSON), data serialization protocol (Protobuf), etc.), thus obtaining the lane markings, lane-level road segment data, and road signs corresponding to the data structures usable by autonomous driving systems. Additionally, the coordinates in the high-precision map can be converted to the vehicle coordinate system or world coordinate system for alignment with vehicle sensor data.
[0079] In step S2053, the lane markings, lane-level road segment data, and road signs are associated with the location information to obtain the lane markings, lane-level road segment data, and road signs of the current location of the vehicle to be controlled.
[0080] In this embodiment, lane markings, lane-level road segment data, and road signs obtained from map information are associated with the location information of the vehicle to be controlled. This allows for the determination of the lane markings, lane-level road segment data, and road signs at the current location of the vehicle. The location information of the vehicle to be controlled can be matched with lane lines or road centerlines in a high-precision map. Based on the lane line matched with the vehicle's location information, the lane markings, lane-level road segment data, and road signs associated with that lane line can be determined from the high-precision map. This, in turn, allows for the determination of the lane markings, lane-level road segment data, and road signs at the current location of the vehicle. For example, high-precision maps are usually stored in a global coordinate system (such as the World Geodetic System 1984 (WGS84) latitude and longitude or the Universal Transverse Mercator (UTM) coordinate system). The high-precision map data can be converted to the vehicle local coordinate system first. The vehicle local coordinate system is a coordinate system established with the vehicle as the center, which is used to describe the relative position and direction of the vehicle's surrounding environment. Then, the vehicle's position and direction are matched with the lane lines or road center lines in the high-precision map.
[0081] Through steps 2051 to 2053, the vehicle-collected information and map information are transformed into the data structure type required for subsequent scenario and behavioral decisions, which improves the availability and operability of the data and provides accurate environmental information for the decision-making and control of the vehicle to be controlled.
[0082] In step S206, the server determines the target driving scenario to which the vehicle to be controlled belongs at the current moment based on lane markings, lane-level road segment data, and road signs.
[0083] In some embodiments, step S206 can be implemented as follows: First, based on lane markings, lane-level road segment data, and road signs, determine the inclusion relationship between the current location of the vehicle to be controlled and the target lane corresponding to the lane markings; then, in response to the inclusion relationship indicating that the current location is not in the target lane, determine the target driving scenario as a free navigation scenario; in response to the inclusion relationship indicating that the current location is in the target lane and the distance from the current location to the end point of the target lane is greater than a preset distance threshold, determine the target driving scenario as a multi-lane scenario; in response to the inclusion relationship indicating that the current location is in the target lane and the distance from the current location to the end point of the target lane is less than or equal to a preset distance threshold, determine the target driving scenario as a free navigation scenario; in response to the inclusion relationship indicating that the current location is in the target lane and the curvature value of the target lane is greater than a preset curvature threshold, determine the target driving scenario as a free navigation scenario.
[0084] In this embodiment, the location of the target lane and the distance between the current location of the vehicle to be controlled and the end point of the target lane can be determined based on lane-level road segment data. The lane type can be determined based on lane markings, and the current traffic rules and lane direction information can be determined based on road signs. The inclusion relationship between the current location of the vehicle to be controlled and the target lane corresponding to the lane marking can be determined based on the current location of the vehicle to be controlled and the target lane. When the current location of the vehicle to be controlled is not in the target lane, it indicates that the vehicle to be controlled may be located on a ramp or roadside, and the target driving scenario can be determined as an upper lane scenario in a free navigation scenario. When the current location of the vehicle to be controlled is in the target lane, and the distance between the current location and the end point of the target lane is greater than a preset distance threshold, it indicates that the vehicle to be controlled may be driving in the target lane, and the target driving scenario can be determined as a multi-lane scenario. It should be noted that the preset distance threshold can be set according to actual conditions, and this embodiment does not limit it. When the vehicle to be controlled is currently located in the target lane, and the distance from its current location to the end of the target lane is less than or equal to a preset distance threshold, it indicates that the vehicle may need to stop or enter a ramp, thus identifying the target driving scenario as a lane exit scenario within a free navigation scenario. When the vehicle to be controlled is currently located in the target lane, and the curvature value of the target lane is greater than a preset curvature threshold, it indicates that the lane the vehicle is currently in is a curve, thus identifying the target driving scenario as a high-curvature road section scenario within a free navigation scenario. It should be noted that the preset curvature threshold can be set according to actual conditions, and this embodiment does not limit it.
[0085] The following examples illustrate this: The vehicle to be controlled can be viewed as a rectangle. When all four vertices of the rectangle are within the lane, the vehicle is considered to be in the target lane. Alternatively, the vehicle can be viewed as a point. A lane width smaller than the target lane's centerline can be pre-defined. When the point is within this pre-defined lane width, the vehicle is considered to be in the target lane. If the vehicle is not in the target lane, but is in another lane and the lane markings show a "straight" or "turn" arrow, it indicates the vehicle may be on a ramp. Similarly, lane merging, forced lane changing, and deceleration signs also indicate a possible ramp location. If the vehicle is not in the target lane and is not in another lane, it may be on the roadside. Assuming a preset distance threshold of 20 meters, when the vehicle to be controlled is currently located in the target lane and the distance from its current location to the end of the target lane is 50 meters, which is greater than the preset distance threshold, it indicates that the vehicle to be controlled is traveling in the target lane, and the target driving scenario can be determined to be a multi-lane scenario. When the vehicle to be controlled is currently located in the target lane and the distance from its current location to the end of the target lane is 10 meters, which is less than the preset distance threshold, if the lane markings in the current lane show a "zebra crossing," it indicates that the vehicle to be controlled may need to stop; or if road signs show "exit," "forced lane change," or "deceleration," it also indicates that the vehicle to be controlled may need to enter the ramp. When the vehicle to be controlled is currently located in the target lane, the curvature value of the target lane can be calculated using lane-level road segment data. Specifically, the geometric data of the lane-level road segments of the target lane can be obtained first, including the starting coordinates, ending coordinates, and length of the road segment. Then, based on the starting and ending coordinates of the road segment, the straight-line distance of the road segment is calculated. Finally, the straight-line distance is divided by the road segment length to obtain the curvature value. If the curvature value of the target lane is greater than a preset curvature threshold, it indicates that the lane the vehicle to be controlled is currently in is a curve. If road signs such as "Slow Down" or "Caution Curve" appear, it also indicates that the lane the vehicle to be controlled is currently in is a curve.
[0086] Using the above methods, the relationship between the vehicle to be controlled and the lane can be determined through lane markings, lane-level road segment data, and road signs. Then, the driving scenario of the vehicle to be controlled can be divided in detail based on the relationship between the vehicle to be controlled and the lane, and the specific driving scenario of the vehicle to be controlled at the current moment can be determined. This allows for the division of the driving scenario of the vehicle to be controlled in complex traffic environments, which in turn enables the subsequent fine-grained planning of the vehicle's driving trajectory and improves the adaptability of the vehicle to be controlled in complex driving scenarios.
[0087] In step S207, the server determines the planned trajectory of the vehicle to be controlled based on the target driving scenario and lane-level road segment data.
[0088] In some embodiments, when the target driving scenario includes a multi-lane scenario, referring to Figure 4, Figure 4 shows that step S207 can be implemented through the following steps S2071A to S2073A:
[0089] Step S2071A: Determine the first behavior node corresponding to the vehicle to be controlled at the current moment from the preset behavior tree corresponding to the multi-lane scenario.
[0090] In this embodiment, the preset behavior tree is a pre-defined behavior tree, which is a graphical tool used to describe decision-making processes. The preset behavior tree can be used to describe the decision-making process of a vehicle being controlled driving on a road. The preset behavior tree may include repeat nodes (repeatedly executing a child node a specified number of times, or until a certain condition of a child node is met), selection nodes (executing child nodes according to their order in the preset behavior tree (e.g., from left to right) until one child node returns a success state, in which case the selection node returns success; or if all child nodes return a failure state, then the selection node returns failure), sequence nodes (executing child nodes according to their order in the preset behavior tree (e.g., from left to right) until one child node returns a failure state, in which case the sequence node returns failure; or if all child nodes return a success state, then the sequence node also returns success), and priority selection nodes (not executing each child node according to their order in the preset behavior tree, but according to their priority, which can be customized). Referring to Figure 5, which is a schematic diagram of the preset behavior tree provided in this embodiment, the first behavior node can be the sequence node in Figure 5. When the target driving scenario is a multi-lane scenario, the preset behavior tree corresponding to the multi-lane scenario can be the behavior tree shown in Figure 5. The nodes in the figure can be executed in order from left to right. For example, selection node 501 can be executed in order from left to right. If, at the current moment, the child nodes under selection node 501 have not yet been executed, the first behavior node corresponding to the vehicle to be controlled at the current moment can be determined as sequence node 502. If, at the current moment, the child nodes under selection node 501 have already been executed, for example, if a child node returns to a failure state, the first behavior node corresponding to the vehicle to be controlled at the current moment can be determined as the next node after the failure node. The first child node under a sequence node is usually a judgment node (i.e., a diamond shape). If the judgment result is yes, then the next child node under the sequence node will be entered; if the judgment result is no, the current sequence node will be exited. For example, if the child nodes under selection node 501 have already been executed, and sequence node 502 returns to a failure state, then the first behavior node corresponding to the vehicle to be controlled at the current moment can be determined as sequence node 503. For example, under the road keeping selection node there are two sequential nodes (execution order from left to right). If one of the sequential nodes executes successfully, then the road keeping selection node executes successfully (that is, the execution of road keeping can be achieved in two scenarios: one is when there is a car in front, and the vehicle to be controlled follows behind the car in front; the other is when there is no car in front, and the vehicle to be controlled moves forward at a constant speed).It should be noted that the child nodes under the priority selection node are no longer executed according to their order of arrangement in the behavior tree, but according to the priority order of each child node. The priority of each child node is determined according to the actual situation, and this application embodiment does not limit this.
[0091] Step S2072A: Based on lane-level road segment data and the first behavior node, determine the behavior type of the vehicle to be controlled at the next moment.
[0092] In this embodiment of the application, each behavior node corresponds to a different behavior type, such as parking, forced lane change, driving in a single lane, overtaking by using the left lane, overtaking by using the right lane, decelerating, and cruising speed.
[0093] In some embodiments, the above step S2072A can be implemented in the following way: First, determine whether the lane-level road segment data meets the judgment condition of the first behavior node and obtain the node judgment result; then, based on the node judgment result, determine the second behavior node where the vehicle to be controlled is located at the current moment from the preset behavior tree; finally, determine the behavior type of the vehicle to be controlled at the next moment based on the second behavior node.
[0094] In this embodiment, each behavior node corresponds to different judgment conditions. Judgments can be made based on lane-level road segment data to determine whether the lane-level road segment data meets the judgment conditions of the first behavior node, thus obtaining the node judgment result. If the node judgment result indicates that the lane-level road segment data meets the judgment conditions of the first behavior node, then the behavior type of the first behavior node is determined as the behavior type of the vehicle to be controlled at the next moment. If the node judgment result indicates that the lane-level road segment data does not meet the judgment conditions of the first behavior node, then the next behavior node in the preset behavior tree is determined as the second behavior node where the vehicle to be controlled is located at the current moment. Then, the behavior type corresponding to the second behavior node is determined as the behavior type of the vehicle to be controlled at the next moment.
[0095] The following example illustrates this: For instance, the first behavior node is a sequential node 502. Based on lane-level road segment data, it determines whether the vehicle to be controlled has reached its destination. If the node's judgment result indicates that the vehicle to be controlled has reached its destination, then the behavior type of the vehicle to be controlled in the next moment is "stop". If the node's judgment result indicates that the vehicle to be controlled has not reached its destination, then according to the execution order of the preset behavior tree, the second behavior node is determined to be a sequential node 503. Sequential node 503 is executed, and based on lane-level road segment data, it determines whether the vehicle to be controlled has received a forced lane change instruction and whether the target lane is safe. If the node's judgment result indicates that the vehicle to be controlled has received a forced lane change instruction and the target lane is safe, then the behavior type of the vehicle to be controlled in the next moment is "pre-forced lane change" and "forced lane change".
[0096] By using the above methods, behavior nodes can be judged one by one, and the driving scenarios of the vehicles to be controlled in complex traffic environments can be divided, so as to improve the accuracy of the planned trajectories of the vehicles to be controlled and improve the adaptability of the vehicles to be controlled in complex driving scenarios.
[0097] Step S2073A: Determine the planned trajectory of the vehicle to be controlled based on the behavior type at the next moment.
[0098] In this embodiment, based on the behavior type determined at the next moment, the trajectory planning module can determine the boundary of the area where the vehicle to be controlled can travel, and thus determine the planned trajectory of the vehicle to be controlled. Information such as lane line positions, shoulders, and road boundaries is obtained from lane-level road segment data, and combined with the behavior type of the vehicle to be controlled at the next moment, the trajectory that the vehicle can travel is determined.
[0099] Through steps 2071A to 2073A, the decision-making logic of the vehicle to be controlled is made clearer and easier to understand by using a preset behavior tree. The preset behavior tree can be executed quickly in a real-time environment, which can improve the real-time performance of the decision-making of the vehicle to be controlled.
[0100] In some embodiments, when the target driving scenario includes a free navigation scenario, referring to Figure 6, Figure 6 shows that step S207 can be implemented through the following steps S2071B to S2073B:
[0101] Step S2071B: Based on lane markings, lane-level road segment data, and road signs, determine the free navigation segment and the endpoint of the free navigation segment for the vehicle to be controlled in the free navigation scenario.
[0102] In this embodiment, based on the current position of the vehicle to be controlled, lane markings, lane-level road segment data, and road signs, the free navigation segment and its endpoint in a free navigation scenario can be determined. For example, if the vehicle to be controlled is currently located in a lane, and the distance between its current position and the endpoint of the target lane is 10 meters, which is less than a preset distance threshold, a "zebra crossing" sign appears on the lane markings, and a "slow down" sign appears on the road signs. In this case, the target driving scenario is a parking scenario within a free navigation scenario. If there are no obstacles between the vehicle to be controlled and the "zebra crossing," the free navigation segment in the free navigation scenario can be determined as the section of the lane where the vehicle to be controlled is located, between the vehicle and the "zebra crossing," and the endpoint of the free navigation segment is the "zebra crossing" corresponding to the lane where the vehicle to be controlled is located. If there is an obstacle between the vehicle to be controlled and the "zebra crossing", the free navigation segment of the vehicle to be controlled in the free navigation scenario can be determined as the lane through which the vehicle to be controlled bypasses the obstacle, and the segment between the vehicle to be controlled and the "zebra crossing" in the lane where the vehicle to be controlled is currently located after the lane change. The end point of the free navigation segment is the "zebra crossing" corresponding to the lane after the lane change.
[0103] Step S2072B: Determine the planned trajectory of the vehicle to be controlled in the free navigation segment based on the end point of the free navigation segment.
[0104] In this embodiment, the planned trajectory of the vehicle under control in the free navigation segment can be determined based on the current location of the vehicle under control and the end point of the free navigation segment. For example, if there is no obstacle between the vehicle under control and the "zebra crossing", the planned trajectory of the vehicle under control in the free navigation segment can be the segment between the current location of the vehicle under control and the "zebra crossing"; if there is an obstacle between the vehicle under control and the "zebra crossing", the planned trajectory of the vehicle under control in the free navigation segment can be the trajectory of the vehicle under control bypassing the obstacle, and the segment between the vehicle under control and the "zebra crossing" in the lane where the vehicle under control is currently located after changing lanes.
[0105] Step S2073B: Add the planned trajectory of the road segment to the planned trajectory of the vehicle to be controlled.
[0106] In this embodiment, a planned road segment trajectory can be added to the original planned trajectory of the vehicle to be controlled. For example, the original planned trajectory of the vehicle to be controlled is to travel in a straight line at a constant speed from point A to point B, but a "zebra crossing" and traffic lights appear between the two points. If the planned road segment trajectory is to stop before the "zebra crossing", then the planned trajectory of stopping before the "zebra crossing" will be added to the original planned trajectory.
[0107] Through steps 2071B to 2073B, different driving trajectories can be planned for different driving scenarios, thereby refining the planning of the vehicle's driving trajectory and improving the adaptability of the vehicle to be controlled in complex driving scenarios.
[0108] In step S208, the server controls the vehicle to be controlled to travel according to the planned trajectory.
[0109] It should be noted that step S208 is the same as step S105 above, and the implementation details of step S208 in this embodiment will not be repeated.
[0110] In this embodiment, the terminal first receives user input and then sends the corresponding task instruction to the server. When the task instruction instructs the vehicle to be controlled to drive in a lane, the server acquires the vehicle's data and map information. This allows for a fine-grained division of the vehicle's task objectives, facilitating rapid decision-making and planning under various task objectives. The vehicle's data and map information are then converted to obtain the lane markings, lane-level road segment data, and road signs at the vehicle's current location. The specific driving scenario of the vehicle at the current moment is then determined, enabling fine-grained division of complex traffic environments. Next, trajectory planning is performed for different driving scenarios, improving the accuracy of the planned trajectory and enhancing the vehicle's adaptability in complex driving scenarios. Finally, the vehicle is controlled to drive according to the planned trajectory.
[0111] The following will describe an exemplary application of the embodiments of this application in a real-world application scenario.
[0112] Referring to Figure 7, which is a schematic diagram of the implementation process of the autonomous driving hierarchical decision-making method provided in this application embodiment, the autonomous driving hierarchical decision-making framework mainly includes: task decision 701, scenario decision 702, and behavior decision 703. First, in the autonomous vehicle initialization phase, the task layer (i.e., task decision) determines the current high-level task objective based on the received task instructions, such as lane driving task, free navigation task, demonstration task, teaching task, etc.
[0113] Then, it receives raw data (i.e., vehicle-collected information and map information) from the sensors, positioning, and high-precision maps of the autonomous vehicle (i.e., the vehicle to be controlled), and transforms the raw data into the data structure types required for subsequent scene and behavior decisions. For example, it transforms the raw high-precision map information into routing map information, thereby obtaining lane-level road segment data structures (i.e., lane-level road segment data), forced lane change signs (i.e., road signs), lane entry and exit signs (i.e., lane markings), and vehicle (i.e., the vehicle to be controlled) and lane ownership detection information, etc.
[0114] Next, after the raw data processing is completed, the scenario type (i.e., driving scenario) of the vehicle to be controlled at the current moment is further confirmed based on the lane markings, vehicle status, and lane information. Different scenario types will use different types of planners (a lane planner is used for multi-lane navigation scenarios (i.e., multi-lane scenarios); a free navigation planner is used for up-lane scenarios (i.e., stop-and-go), down-lane scenarios (i.e., parking), parking scenarios, and high-curvature road segment scenarios). The state machine switching process for confirming the scenario type is shown in Figure 8, which is a schematic diagram of scenario switching provided in the embodiment of this application. Taking a complete road driving condition as an example, the initial scenario type of the autonomous vehicle is set to "idle". When the task endpoint is issued and global path planning is completed, the scenario type switches to the "stop-and-go" scenario type. In the "stop-and-go" scenario type, if the vehicle position is completely within the lane, it can enter the "multi-lane navigation" scenario type. If the task endpoint is reached, the scenario type switches to "parking on the side of the road". When the parking on the side of the road process is completed, it enters the "idle" state. When a vehicle is traveling on a multi-lane road (e.g., a three-lane road composed of several lanes of a certain length), if the vehicle has just entered a high-curvature section (the upstream decision-making process determines whether a section is high-curvature based on a comparison of the average or maximum curvature of the section with a preset curvature threshold), it switches from the "multi-lane navigation" scenario to the "high-curvature section" scenario. Then, when the vehicle finishes traveling on the high-curvature section, it switches back to the "multi-lane navigation" scenario. For example, in a U-turn scenario, the vehicle will go through the process of "multi-lane navigation" --> "high-curvature section" --> "multi-lane navigation". There are two scenarios for switching from the "parking" scenario to the "idle" scenario: one is the end of free navigation, and the other is that the task endpoint is within the lane. In the first scenario, the vehicle finishes the parking process and enters an idle state; in the second scenario, if the task endpoint is within the lane, there will be no parking process, but a frame of the "parking" scene can be retained during the state transition. In other words, if the vehicle's destination is within the lane, the vehicle will go through the process of "multi-lane navigation" --> "parking on the side of the road" --> "idle". However, the "parking on the side of the road" scene only consists of one frame, not a whole process. Similarly, when the vehicle is already within the lane, the "stop and start" process also only consists of one frame, not a whole process. "Vehicle running off the global planning result" refers to the vehicle running off the planned path set (which can be understood as the red or green paths planned by map software during navigation; these red or green paths are the planned paths, and the planned paths are at the road segment level).If a vehicle leaves a red or green lane for some reason, it will immediately enter an idle state. The upstream decision-making process will recalculate a set of red and green road segments. However, the vehicle has already left the lane set before the road segment set is recalculated, so the vehicle will enter an "idle" state. If the upstream decision-making process calculates a new set of lanes (a set of red and green road segments) in a short time, the vehicle will go through the process of "idle" --> "stop and start" (only exists for one frame) --> "multi-lane navigation".
[0115] When using a free navigation planner for entering and exiting lanes, the free navigation endpoint (i.e., the endpoint of the free navigation segment) is first determined. (If the vehicle is in the lane, the scene state machine transitions from "idle" to "stop and start" to "multi-lane navigation." "Stop and start" only exists for one frame before entering "multi-lane navigation." If the vehicle is not in the lane, or is parked outside the lane, the free navigation endpoint can be confirmed. During the lane entry process, when the vehicle enters the lane's range (e.g., the vehicle is considered a rectangle, and all four points of the rectangle have entered the lane), it transitions from "stop and start" to "multi-lane navigation.") Taking the free navigation process in the upper lane as an example, the vehicle's target point is determined based on the relationship between the current vehicle position and the lane center point. Assume the vehicle's current position is (x... v ,y v The position is mapped onto the centerline of the nearest lane through projection. The lane centerline can be represented as a set of points C = {(x...} i ,y i )|i=1,2,…,n}, where each point (x i ,y i (x) represents a discrete coordinate point on the lane centerline. Projection point (x) p ,y p The point () is the closest point on the lane centerline to the vehicle's current position. The coordinates of the projected point can be determined by minimizing the Euclidean distance, as shown in formula (1):
[0116] Among them, (x v ,y v (x) represents the current coordinates of the vehicle. i ,y i ) represents discrete coordinate points on the center line of the lane, and argmin is the minimization operation.
[0117] After obtaining the coordinates of the projection point, offset it along the lane centerline by several lane center points to obtain the target point (the offset value can be customized according to different scenarios or road conditions).
[0118] After determining the specific scenario type, the specific decision intent is output. Taking a multi-lane scenario as an example, vehicle behavior decisions can be executed using a behavior tree method, as shown in Figure 5. The behavior tree for a multi-lane scenario sequentially executes nodes such as determining the task endpoint, forced lane change, active lane change, and lane keeping. When the requirements of the corresponding node are met, the corresponding action is executed at that node. Specifically, if all child nodes of a selected node fail to execute, a failure is returned; if all child nodes of a sequential node succeed, a success is returned.
[0119] In multi-lane navigation, the priority of changing lanes left or right is determined by projecting obstacles onto the center line of the lane ahead and calculating the lateral position of the obstacles relative to the vehicle itself.
[0120] First, the positions of the obstacle and the vehicle are transformed from the Cartesian coordinate system (x, y) to the Frenet coordinate system. The Frenet coordinate system includes the longitudinal coordinate 's' and the lateral offset 'l'. The Frenet coordinates of the obstacle (s...) obs ,l obs This can be expressed by formulas (2) and (3):
[0121] Among them, (x obs ,y obs Let (x) be the coordinates of the obstacle in the Cartesian coordinate system. i ,y i ) represents discrete coordinate points on the center line of the lane in the Cartesian coordinate system, and argmin is the minimization operation.
[0122] Among them, (x obs ,y obs Let (x) be the coordinates of the obstacle in the Cartesian coordinate system. i ,y i () represents discrete coordinate points on the center line of the lane within the Cartesian coordinate system.
[0123] Frenet coordinates of the vehicle (s veh ,l veh This can be expressed by formulas (4) and (5):
[0124] Among them, (x veh ,y veh Let (x) be the coordinates of the vehicle in the Cartesian coordinate system. i ,y i ) represents discrete coordinate points on the center line of the lane in the Cartesian coordinate system, and argmin is the minimization operation.
[0125] Among them, (xveh ,y veh Let (x) be the coordinates of the vehicle in the Cartesian coordinate system. i ,y i () represents discrete coordinate points on the center line of the lane within the Cartesian coordinate system.
[0126] The sign of the lateral offset l is determined by the lateral judgment formula (6): sign(l)=cos(θ) i )·(yy i )-sin(θ i )·(xx i (6)
[0127] Where (x) i ,y i ,θ i (x, y) represents a discrete coordinate point on the center line of the lane in the Cartesian coordinate system and the orientation angle of that point. The sign of the value of sign(l) can indicate the direction of point (x, y) relative to the center of the lane. When sign(l) > 0, it indicates that point (x, y) is located to the left of the center of the lane; when sign(l) < 0, it indicates that point (x, y) is located to the right of the center of the lane.
[0128] For the nearest obstacle that meets the longitudinal condition (the obstacle is located in front of the vehicle), determine the lateral offset l of the obstacle. obs Lateral offset of the vehicle l obs The relationship. If l obs ≤l veh If the obstacle is on the right side of the vehicle, changing lanes to the left has higher priority; otherwise... obs >l veh If the obstacle is on the left side of the vehicle, changing lanes to the right has a higher priority.
[0129] Define the priority judgment formula (7):
[0130] Among them, P left =1 indicates that changing lanes to the left has higher priority.
[0131] Finally, the specific behavioral intentions of the vehicle (forced lane change, lane obstacle avoidance, left lane change, right lane change, lane keeping, deceleration and stopping, and stopping at the end of the task) are output to the downstream trajectory planning module to determine the boundaries of the drivable area.
[0132] Furthermore, this application embodiment also provides an autonomous driving hierarchical decision-making system to support the actual implementation of the above method. The specific architecture is shown in Figure 9, which includes the following modules: an environmental perception unit 901 for acquiring external environmental information; a data processing unit 902 for processing raw data (perception, positioning, map); a multi-level decision-making unit 903 for receiving upstream data and outputting decision intentions; and a trajectory planning unit 904 for outputting reference trajectories according to the decision intentions.
[0133] This application's embodiments construct a multi-layered decision-making framework comprising a task layer, a scenario layer, and a behavior layer. This framework efficiently addresses decision-making problems in various complex traffic environments, achieving adaptive task switching and refined behavioral decision-making, ultimately improving the adaptability of autonomous vehicles in complex scenarios. Furthermore, by dividing decision-making into three levels—task, scenario, and behavior—with each layer designed independently and executed in a coordinated manner, the complexity of the decision-making system is reduced. The modular design facilitates the upgrade and maintenance of the decision-making algorithm, while also enabling rapid deployment and expansion in different application scenarios. In addition, the refined execution of the behavior layer effectively reduces the delay between decision-making and planning, thereby ensuring the stability of autonomous vehicles under driving conditions.
[0134] It is understood that in the embodiments of this application, data such as location information are involved. When the embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with relevant laws, regulations and standards.
[0135] Based on the vehicle control method described in the above embodiments, Figure 10 shows a structural block diagram of a vehicle control device 100 provided in an embodiment of this application. The vehicle control device can be a device in an electronic device (e.g., a server). The vehicle control device can be implemented in software, which can be software in the form of programs and plug-ins, including the following software modules: information acquisition module 101, information conversion module 102, scene determination module 103, trajectory determination module 104, and control module 105. These modules are logically related, so they can be arbitrarily combined or further split according to the functions they implement.
[0136] The system includes: an information acquisition module 101, used to acquire vehicle data and map information of the current location of the vehicle to be controlled; an information conversion module 102, used to convert the vehicle data and map information to obtain lane markings, lane-level road segment data, and road signs at the current location; a scenario determination module 103, used to determine the target driving scenario of the vehicle to be controlled at the current time based on lane markings, lane-level road segment data, and road signs; a trajectory determination module 104, used to determine the planned trajectory of the vehicle to be controlled based on the target driving scenario and lane-level road segment data; and a control module 105, used to control the vehicle to be controlled to travel according to the planned trajectory.
[0137] In some embodiments, the target driving scenario includes a multi-lane scenario; the trajectory determination module 104 is further configured to determine the first behavior node corresponding to the vehicle to be controlled at the current moment from the preset behavior tree corresponding to the multi-lane scenario; determine the behavior type of the vehicle to be controlled at the next moment based on lane-level road segment data and the first behavior node; and determine the planned trajectory of the vehicle to be controlled based on the behavior type at the next moment.
[0138] In some embodiments, the trajectory determination module 104 is further configured to determine whether the lane-level road segment data meets the judgment conditions of the first behavior node, and obtain the node judgment result; based on the node judgment result, determine the second behavior node where the vehicle to be controlled is located at the current moment from the preset behavior tree; and determine the behavior type of the vehicle to be controlled at the next moment based on the second behavior node.
[0139] In some embodiments, the target driving scenario includes a free navigation scenario; the trajectory determination module 104 is further configured to determine the free navigation segment of the vehicle to be controlled in the free navigation scenario and the endpoint of the free navigation segment based on lane markings, lane-level road segment data and road signs; determine the road segment planning trajectory of the vehicle to be controlled in the free navigation segment based on the endpoint of the free navigation segment; and add the road segment planning trajectory to the planning trajectory of the vehicle to be controlled.
[0140] In some embodiments, the scenario determination module 103 is further configured to determine the inclusion relationship between the current location of the vehicle to be controlled and the target lane corresponding to the lane identifier based on lane identifiers, lane-level road segment data, and road signs; in response to the inclusion relationship indicating that the current location is not located in the target lane, the target driving scenario is determined to be a free navigation scenario; in response to the inclusion relationship indicating that the current location is located in the target lane and the distance between the current location and the end point of the target lane is greater than a preset distance threshold, the target driving scenario is determined to be a multi-lane scenario; in response to the inclusion relationship indicating that the current location is located in the target lane and the distance between the current location and the end point of the target lane is less than or equal to a preset distance threshold, the target driving scenario is determined to be a free navigation scenario; in response to the inclusion relationship indicating that the current location is located in the target lane and the curvature value of the target lane is greater than a preset curvature threshold, the target driving scenario is determined to be a free navigation scenario.
[0141] In some embodiments, the information conversion module 102 is further configured to convert the vehicle-collected information to obtain the location information of the current location of the vehicle to be controlled; convert the map information to obtain lane markings, lane-level road segment data and road signs; and associate the lane markings, lane-level road segment data and road signs with the location information to obtain the lane markings, lane-level road segment data and road signs of the current location of the vehicle to be controlled.
[0142] In some embodiments, the information acquisition module 101 is further configured to receive N task instructions for the vehicle to be controlled, where N is an integer greater than or equal to 1; in response to any task instruction instructing the vehicle to be controlled to drive in a lane, acquire vehicle collection information of the vehicle to be controlled at the current moment and map information of the current location of the vehicle to be controlled.
[0143] It should be noted that the description of the apparatus in this application embodiment is similar to the description of the method embodiment described above, and has similar beneficial effects as the method embodiment; therefore, it will not be repeated. For technical details not disclosed in this apparatus embodiment, please refer to the description of the method embodiment of this application for understanding.
[0144] This application also provides an electronic device. Referring to FIG11, FIG11 is a schematic diagram of the structure of the electronic device provided in this application embodiment. As shown in FIG11, the electronic device 130 includes: at least one processor 131 (only one is shown in FIG11), a memory 132, and executable instructions 133 stored in the memory 132 and executable on at least one processor 131. When the processor 131 executes the executable instructions 133, it implements the steps in any of the above-described vehicle control method embodiments.
[0145] The electronic device may include, but is not limited to, processor 131 and memory 132. Those skilled in the art will understand that FIG11 is merely an example of electronic device 130 and does not constitute a limitation on electronic device 130. It may include more or fewer components than illustrated, or combine certain components, or different components, such as input / output devices, network access devices, etc.
[0146] The processor 131 can be a central processing unit (CPU), but it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0147] In some embodiments, memory 132 may be an internal storage unit of electronic device 130, such as a hard disk or memory of electronic device 130. In other embodiments, memory 132 may be an external storage device of electronic device 130, such as a plug-in hard disk, smart media card (SMC), secure digital card (SD), flash card, etc., equipped on electronic device 130. Furthermore, memory 132 may include both internal and external storage units of electronic device 130. Memory 132 is used to store operating system, application programs, bootloader, data, and other programs, such as program code of computer programs. Memory 132 may also be used to temporarily store data that has been output or will be output.
[0148] This application provides a computer program product comprising a computer program or computer-executable instructions stored in a computer-readable storage medium. The processor of an electronic device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, causing the electronic device to perform the vehicle control method described above in this application.
[0149] This application provides a computer-readable storage medium storing computer-executable instructions or computer programs. When the computer-executable instructions or computer programs are executed by a processor, the processor will execute the vehicle control method provided in this application, such as the vehicle control method shown in FIG1.
[0150] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.
[0151] In some embodiments, computer-executable instructions may take the form of programs, software, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.
[0152] As an example, computer-executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple co-located files (e.g., files that store one or more modules, subroutines, or code sections).
[0153] As an example, computer-executable instructions can be deployed to execute on a single electronic device, or on multiple electronic devices located at one location, or on multiple electronic devices distributed across multiple locations and interconnected via a communication network.
[0154] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.
Claims
1. A vehicle control method, characterized in that, The method includes: Acquire vehicle data of the vehicle to be controlled at the current moment and map information of the current location of the vehicle to be controlled; The vehicle information and map information are converted to obtain the lane markings at the current location, the lane-level road segment data at the current location, and the road signs at the current location. Based on the lane markings, lane-level road segment data, and road signs, the target driving scenario to which the vehicle to be controlled belongs at the current moment is determined; wherein, the target driving scenario includes a multi-lane scenario; Based on the target driving scenario and the lane-level road segment data, the planned trajectory of the vehicle to be controlled is determined; the determination of the planned trajectory of the vehicle to be controlled based on the target driving scenario and the lane-level road segment data includes: determining the first behavior node corresponding to the vehicle to be controlled at the current moment from the preset behavior tree corresponding to the multi-lane scenario; determining whether the lane-level road segment data meets the judgment condition of the first behavior node, and obtaining the node judgment result; based on the node judgment result, determining the second behavior node where the vehicle to be controlled is located at the current moment from the preset behavior tree; determining the behavior type of the vehicle to be controlled at the next moment based on the second behavior node; and determining the planned trajectory of the vehicle to be controlled based on the behavior type at the next moment. Control the vehicle to be controlled to travel along the planned trajectory.
2. The method according to claim 1, characterized in that, The target driving scenario includes a free navigation scenario; determining the planned trajectory of the vehicle to be controlled based on the target driving scenario and the lane-level road segment data includes: Based on the lane markings, lane-level road segment data, and road signs, determine the free navigation segment of the vehicle to be controlled in the free navigation scenario and the endpoint of the free navigation segment; Based on the endpoint of the free navigation segment, determine the planned trajectory of the vehicle to be controlled in the free navigation segment; The planned trajectory of the road segment is added to the planned trajectory of the vehicle to be controlled.
3. The method according to claim 1 or 2, characterized in that, The step of determining the target driving scenario to which the vehicle to be controlled belongs at the current moment based on the lane markings, the lane-level road segment data, and the road signs includes: Based on the lane markings, the lane-level road segment data, and the road signs, determine the inclusion relationship between the current location of the vehicle to be controlled and the target lane corresponding to the lane markings; In response to the inclusion relationship indicating that the current location is not within the target lane, the target driving scenario is determined to be a free navigation scenario; In response to the inclusion relationship indicating that the current location is within the target lane and the distance between the current location and the end point of the target lane is greater than a preset distance threshold, the target driving scenario is determined to be a multi-lane scenario. In response to the inclusion relationship that the current location is located in the target lane and the distance between the current location and the end of the target lane is less than or equal to the preset distance threshold, the target driving scenario is determined to be the free navigation scenario; In response to the inclusion relationship that the current location is located in the target lane and the curvature value of the target lane is greater than a preset curvature threshold, the target driving scenario is determined to be the free navigation scenario.
4. The method according to claim 1 or 2, characterized in that, The process of converting the vehicle information and map information to obtain the lane markings, lane-level road segment data, and road signs at the current location includes: The vehicle information is collected and converted to obtain the current location information of the vehicle to be controlled; The map information is converted to obtain lane markings, lane-level road segment data, and road signs; The lane markings, lane-level road segment data, and road signs are associated with the location information to obtain the lane markings, lane-level road segment data, and road signs of the current location of the vehicle to be controlled.
5. The method according to claim 1 or 2, characterized in that, The acquisition of vehicle data of the vehicle to be controlled at the current moment and map information of the current location of the vehicle to be controlled includes: Receive N task instructions for the vehicle to be controlled, where N is an integer greater than or equal to 1; In response to any of the task instructions instructing the vehicle to be controlled to drive in a lane, the system acquires vehicle data collection information of the vehicle to be controlled at the current moment and map information of the current location of the vehicle to be controlled.
6. A vehicle control device, characterized in that, The device includes: The information acquisition module is used to acquire vehicle data collection information of the vehicle to be controlled at the current moment and map information of the current location of the vehicle to be controlled. The information conversion module is used to convert the vehicle-collected information and the map information to obtain the lane markings of the current location, the lane-level road segment data of the current location, and the road signs of the current location. The scenario determination module is used to determine the target driving scenario to which the vehicle to be controlled belongs at the current moment based on the lane markings, the lane-level road segment data, and the road signs; wherein, the target driving scenario includes a multi-lane scenario; The trajectory determination module is used to: determine the first behavior node corresponding to the vehicle to be controlled at the current moment from a preset behavior tree corresponding to the multi-lane scenario; determine whether the lane-level road segment data meets the judgment condition of the first behavior node, and obtain a node judgment result; based on the node judgment result, determine the second behavior node where the vehicle to be controlled is located at the current moment from the preset behavior tree; determine the behavior type of the vehicle to be controlled at the next moment based on the second behavior node; and determine the planned trajectory of the vehicle to be controlled based on the behavior type at the next moment. The control module is used to control the vehicle to be controlled to travel according to the planned trajectory.
7. An electronic device, characterized in that, The electronic device includes: Memory is used to store executable instructions or computer programs. A processor, configured to execute computer-executable instructions or computer programs stored in the memory, implements the vehicle control method according to any one of claims 1 to 5.
8. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that, When the computer-executable instructions or computer program are executed by a processor, the vehicle control method according to any one of claims 1 to 5 is implemented.