An automatic driving method, device and vehicle
Patent Information
- Application Number
- CN202311248263.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-25
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2043-09-25
AI Technical Summary
[0004]然而,在车辆自主泊车过程中,可能与周围障碍物发生碰撞,如车辆在行驶过程中无法避开周围障碍物,从而导致车辆存在安全隐患
[0015]由以上技术方案可见,本申请实施例中,当左侧第一障碍物与右侧第二障碍物之间的距离较大时,自适应生成居中路径(即所有车道的中心位置,可跨越道路中间的标线),控制车辆在居中路径行驶,且可以提高车辆的行驶速度,控制车辆快速行驶,提高行车效率。在提高车速的同时,对于右侧突然出现的行人或者车辆留足反应时间(即居中路径与右侧间隔较大,能够留足反应时间),保证不发生碰撞。当左侧和/或右侧不存在障碍物时,或者,左侧第一障碍物与右侧第二障碍物之间的距离较小时,自适应生成靠右路径(即右侧车道,不可跨越道路中间的标线),控制车辆在靠右路径行驶,且可以降低车辆的行驶速度,保证车辆行驶的安全性,即通过降低车辆的行驶速度保证不发生碰撞。
Smart Images

Figure CN117170377B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous driving technology, and in particular to an autonomous driving method, device and vehicle. Background Technology
[0002] Autonomous driving is a technology that utilizes advanced sensors and computing technology to enable vehicles to navigate and operate autonomously without human intervention. Autonomous driving can provide people with safer, more convenient, and more efficient modes of transportation, while also having a profound impact on the entire transportation system and urban planning.
[0003] Automated Valet Parking (AVP) is a technology for autonomous driving. Vehicles equipped with this feature do not require human intervention. Through onboard sensors, processors, and control systems, they can automatically identify parking spaces and park themselves. When using AVP, the driver can alight at a designated drop-off point and issue a parking command via a mobile app. Upon receiving the command, the vehicle will automatically drive to the designated parking space without user intervention.
[0004] However, during the autonomous parking process, the vehicle may collide with surrounding obstacles. If the vehicle is unable to avoid surrounding obstacles while driving, it may pose a safety hazard. Summary of the Invention
[0005] This application provides an autonomous driving method applied to a target vehicle, the target vehicle storing teaching paths, and the method comprising, after the target vehicle initiates autonomous driving:
[0006] Select multiple teaching path points from the teaching path;
[0007] Determine the desired path point corresponding to each teaching path point; wherein, for each teaching path point, if it is determined based on perception information that there are no obstacles to the left and / or right of the teaching path point, the teaching path point is taken as the desired path point; if it is determined based on perception information that there is a first obstacle to the left of the teaching path point and a second obstacle to the right of the teaching path point, and the distance between the first obstacle and the second obstacle is less than a threshold, the teaching path point is taken as the desired path point; when the distance is not less than the threshold, the center point between the first obstacle and the second obstacle is taken as the desired path point;
[0008] Generate a target path based on the multiple expected path points corresponding to the multiple teaching path points;
[0009] The target vehicle is controlled to travel based on the target path; wherein, when the target path is in the center position, the target vehicle is controlled to travel at a first speed, and when the target path is in the right position, the target vehicle is controlled to travel at a second speed, wherein the first speed is greater than the second speed.
[0010] This application provides an autonomous driving device applied to a target vehicle, the device comprising:
[0011] A determination module is used to select multiple teaching path points from the teaching path after the target vehicle starts autonomous driving, and determine the desired path point corresponding to each teaching path point; wherein the target vehicle stores teaching paths; wherein, for each teaching path point, if it is determined based on perception information that there are no obstacles to the left and / or right of the teaching path point, then the teaching path point is taken as the desired path point; if it is determined based on the perception information that there is a first obstacle to the left of the teaching path point and a second obstacle to the right of the teaching path point, then when the distance between the first obstacle and the second obstacle is less than a threshold, the teaching path point is taken as the desired path point; when the distance is not less than the threshold, the center point between the first obstacle and the second obstacle is taken as the desired path point;
[0012] The generation module is used to generate a target path based on multiple desired path points corresponding to multiple teaching path points;
[0013] A control module is used to control the target vehicle to drive based on the target path; wherein, when the target path is located in the center position, the target vehicle is controlled to drive at a first speed, and when the target path is located on the right side position, the target vehicle is controlled to drive at a second speed, and the first speed is greater than the second speed.
[0014] This application provides an autonomous driving vehicle, including: a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the autonomous driving method of the example above in this application.
[0015] As can be seen from the above technical solutions, in this embodiment, when the distance between the first obstacle on the left and the second obstacle on the right is large, a centered path (i.e., the center position of all lanes, which can cross the road markings) is adaptively generated to control the vehicle to travel on the centered path. This also increases the vehicle's speed, allowing for faster driving and improved efficiency. While increasing the speed, sufficient reaction time is allowed for pedestrians or vehicles suddenly appearing on the right (i.e., the centered path is relatively far from the right side, allowing sufficient reaction time) to prevent collisions. When there are no obstacles on the left and / or right, or when the distance between the first obstacle on the left and the second obstacle on the right is small, a right-hand path (i.e., the right lane, which cannot cross the road markings) is adaptively generated to control the vehicle to travel on the right-hand path. This also reduces the vehicle's speed, ensuring driving safety, i.e., preventing collisions by reducing the vehicle's speed. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments of this application or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings of the embodiments of this application.
[0017] Figure 1 This is a flowchart illustrating an autonomous driving method according to one embodiment of this application;
[0018] Figure 2 This is a flowchart illustrating an autonomous driving method according to one embodiment of this application;
[0019] Figures 3A-3C This is a schematic diagram of a target lane model in one embodiment of this application;
[0020] Figures 4A-4C This is a schematic diagram illustrating the determination of the target gradient in one embodiment of this application;
[0021] Figure 5 This is a schematic diagram of obstacle constraints in one embodiment of this application;
[0022] Figure 6 This is a schematic diagram of the driving of the target vehicle in one embodiment of this application;
[0023] Figure 7 This is a schematic diagram of the structure of an autonomous driving device according to one embodiment of this application;
[0024] Figure 8 This is a hardware structure diagram of a vehicle according to one embodiment of this application. Detailed Implementation
[0025] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” as used in this application and claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to any and all possible combinations comprising one or more of the associated listed items.
[0026] It should be understood that although the terms first, second, third, etc., may be used to describe various information in embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" may also be interpreted as "when," "when," or "in response to a determination."
[0027] This application proposes an autonomous driving method that can be applied to a target vehicle (i.e., a vehicle supporting autonomous driving functions), and the target vehicle stores teaching paths. See also... Figure 1 The diagram shown illustrates the process of this method. After the target vehicle initiates autonomous driving, the method may include:
[0028] Step 101: Select multiple teaching path points from the teaching path.
[0029] Step 102: Determine the desired path point corresponding to each teaching path point; wherein, for each teaching path point, if it is determined based on perception information that there are no obstacles to the left and / or right of the teaching path point, then the teaching path point is taken as the desired path point; if it is determined based on perception information that there is a first obstacle to the left of the teaching path point and a second obstacle to the right of the teaching path point, and the distance between the first obstacle and the second obstacle is less than a threshold, then the teaching path point is taken as the desired path point; if the distance is not less than the threshold, the center point between the first obstacle and the second obstacle is taken as the desired path point.
[0030] Step 103: Generate the target path based on the multiple expected path points corresponding to the multiple teaching path points.
[0031] Step 104: Control the target vehicle to drive based on the target path; wherein, when the target path is in the center position, control the target vehicle to drive at a first speed, and when the target path is in the right position, control the target vehicle to drive at a second speed, the first speed may be greater than the second speed.
[0032] For example, if the target path corresponds to at least two lanes, the center position can be the center position of all lanes (when a vehicle is in the center position, it can cross the middle lane markings), and the right position is the right lane position (such as the rightmost lane, where a vehicle cannot cross the middle lane markings when it is in the right position).
[0033] For example, for each teaching path point, determining the desired path point corresponding to that teaching path point may include, but is not limited to: determining the target lane model corresponding to that teaching path point; wherein, if it is determined based on perception information that there is no obstacle to the right of the teaching path point, then the target lane model is determined to be a laneless model; if it is determined based on perception information that there is no obstacle to the left of the teaching path point, then the target lane model is determined to be a single-lane model; if it is determined based on perception information that there is a first obstacle to the left of the teaching path point and a second obstacle to the right, and the distance between the first obstacle and the second obstacle is less than a threshold, then the target lane model is determined to be a single-lane model; if it is determined based on perception information that there is a first obstacle to the left of the teaching path point and a second obstacle to the right, and the distance between the first obstacle and the second obstacle is not less than a threshold, then the target lane model is determined to be a two-lane model.
[0034] The desired path point is determined based on the target lane model; if the target lane model is a laneless model or a single-lane model, the taught path point is taken as the desired path point; if the target lane model is a two-lane model, the center point between the first obstacle and the second obstacle is taken as the desired path point.
[0035] For example, generating a target path based on multiple expected path points corresponding to multiple taught path points may include, but is not limited to, using the path composed of multiple expected path points as the target path. Alternatively,
[0036] Determine the target gradients corresponding to multiple desired path points. For each desired path point, the target gradient can be determined based on at least one of the smoothness term gradient, curvature term gradient, and obstacle term gradient of that desired path point. Optimize the multiple desired path points based on their target gradients to obtain multiple candidate path points. If the multiple candidate path points meet the convergence condition, a reference path can be generated based on them, and a target path can be generated based on the reference path. If the multiple candidate path points do not meet the convergence condition, they can be treated as multiple desired path points, and the process of determining the target gradients corresponding to the multiple desired path points can be repeated.
[0037] For example, the process of determining the smoothing term gradient for each desired path point may include, but is not limited to, determining the smoothing term gradient for that desired path point using the following formula:
[0038]
[0039] Where, Δx i+2 The vector Δx represents the distance between the first expected path point following the expected path point and the second expected path point following the expected path point. i+1 The vector used to represent the relationship between the desired path point and the first desired path point following it; Δx i Δx is used to represent the vector between the first expected path point preceding the expected path point and the expected path point itself. i-1 The vector used to represent the relationship between the second expected path point preceding the expected path point and the first expected path point preceding the expected path point; x i Used to represent the desired path point; grad smooth The gradient of the smooth term is used to represent the desired path point.
[0040] For example, for each desired path point, the process of determining the gradient of the curvature term at that desired path point may include, but is not limited to, determining the gradient of the curvature term at that desired path point using the following formula:
[0041]
[0042]
[0043] Where, Δx i ΔΦ is used to represent the vector between the first expected path point preceding the expected path point and the expected path point itself. i Used to represent the angle between the first line and the second line, where the first line is the line connecting the first expected path point before the expected path point and the expected path point itself, and the second line is the line connecting the first expected path point after the expected path point and the expected path point itself; x i Used to represent the desired path point; x i-1 Used to indicate the first expected path point preceding this expected path point; x i+1 Used to indicate the first expected path point following this expected path point; grad curvature The gradient of the curvature term is used to represent the desired path point.
[0044] For example, for each desired path point, the process of determining the obstacle term gradient of that desired path point may include, but is not limited to, determining the obstacle term gradient of that desired path point using the following formula:
[0045]
[0046] Where x represents the x-coordinate of the desired path point in the raster graph, y represents the y-coordinate of the desired path point in the raster graph; ε represents the configured value; f(x,y) represents the raster offset of (x,y) from the nearest obstacle in the raster graph; grad obs This represents the gradient of the obstacle term at the desired path point.
[0047] For example, for each desired path point, the process of determining the obstacle term gradient of that desired path point may include, but is not limited to, determining the obstacle term gradient of that desired path point using the following formula:
[0048]
[0049] Where, d obs This represents the closest distance between the desired path point and the obstacle; x represents the x-coordinate of the desired path point, y represents the y-coordinate of the desired path point; const represents the configured furthest distance value; d min_consider Indicates const and d obs The difference between them; grad obs This represents the gradient of the obstacle term at the desired path point.
[0050] For example, generating a target path based on a reference path may include, but is not limited to, using the reference path as the target path. Alternatively, multiple reference path points may be selected from the reference path, and multiple path segments may be obtained based on these reference path points. Each path segment may include adjacent first and second reference path points. For each path segment, iterative optimization parameters may be determined based on the first and second reference path points of that path segment. Based on these iterative optimization parameters and a configured numerical range, a candidate polynomial curve corresponding to that path segment may be determined, where the numerical range may include multiple values between 0 and 1. Based on this, the target path may be determined based on the candidate polynomial curve.
[0051] For example, determining the target path based on the candidate polynomial curve may include, but is not limited to: determining a first curvature constraint parameter and a second curvature constraint parameter based on the candidate polynomial curve, and determining a target curvature based on the first curvature constraint parameter and the second curvature constraint parameter. If the target curvature is less than a preset threshold, the candidate polynomial curve can be used as the target path. If the target curvature is not less than the preset threshold, the first point and / or the last point of the candidate polynomial curve can be adjusted to obtain an adjusted curve, and the first point of the adjusted curve can be used as a first reference path point, and the last point of the adjusted curve can be used as a second reference path point. Based on this, the operation of determining iterative optimization parameters based on the first and second reference path points of the path segment can be returned.
[0052] For example, a first curvature constraint parameter and a second curvature constraint parameter are determined based on the candidate polynomial curve, and a target curvature is determined based on the first curvature constraint parameter and the second curvature constraint parameter, including but not limited to: determining the first curvature constraint parameter, the second curvature constraint parameter, and the target curvature based on the following formula:
[0053]
[0054] Where x' represents the first transverse derivative of the target point on the candidate polynomial curve, and the target point can be any point on the candidate polynomial curve; y' represents the first longitudinal derivative of the target point; x” represents the second transverse derivative of the target point; y” represents the second longitudinal derivative of the target point; C1 represents the first curvature constraint parameter; C2 represents the second curvature constraint parameter; and K represents the target curvature.
[0055] As can be seen from the above technical solutions, in this embodiment, when the distance between the first obstacle on the left and the second obstacle on the right is large, a centered path (i.e., the center position of all lanes, which can cross the road markings) is adaptively generated to control the vehicle to travel on the centered path. This also increases the vehicle's speed, allowing for faster driving and improved efficiency. While increasing the speed, sufficient reaction time is allowed for pedestrians or vehicles suddenly appearing on the right (i.e., the centered path is relatively far from the right side, allowing sufficient reaction time) to prevent collisions. When there are no obstacles on the left and / or right, or when the distance between the first obstacle on the left and the second obstacle on the right is small, a right-hand path (i.e., the right lane, which cannot cross the road markings) is adaptively generated to control the vehicle to travel on the right-hand path. This also reduces the vehicle's speed, ensuring driving safety, i.e., preventing collisions by reducing the vehicle's speed.
[0056] The autonomous driving method of this application will be described below with reference to specific embodiments.
[0057] For vehicles that support autonomous driving functions (hereinafter referred to as target vehicles), in order to realize the autonomous waiting and parking function (also known as memory parking function), target vehicles can be equipped with sensors such as cameras (such as surround view cameras) and ultrasonic radar (ultrasonic radar can also be replaced by millimeter-wave radar or lidar).
[0058] To enable autonomous parking for passengers, differential GPS base stations can be set up at suitable locations. The target vehicle uses its onboard antenna to receive differential GPS signals, obtaining its latitude, longitude, and altitude information. Using the base station as the origin, the vehicle's lateral and longitudinal coordinates are calculated, such as those in a northeast-northeast coordinate system. Differential GPS refers to placing a GPS receiver at a base station for observation. Based on the base station's known precise coordinates, a distance correction from the base station to the satellite is calculated, and the base station transmits this data in real time. The user receiver, while performing GPS observations, also receives the correction data from the base station and adjusts its positioning results accordingly, thereby improving positioning accuracy.
[0059] To enable autonomous parking for passengers, the target vehicle can use onboard inertial navigation equipment (such as an IMU) to measure its real-time attitude angle information, and then combine this information with onboard wheel speed encoders to obtain the vehicle's precise speed information.
[0060] To enable autonomous parking for passengers, the accelerator, brakes, and steering wheel of the target vehicle are connected to the controller via a CAN (Controller Area Network) bus for individual control.
[0061] To achieve autonomous passenger-waiting parking functionality, a cruise phase and a parking phase may be involved. The cruise phase refers to the period after the target vehicle initiates autonomous driving but before it begins reversing into the designated parking space; this process is called the cruise phase of the autonomous passenger-waiting parking function. The parking phase refers to the process after the target vehicle arrives at the designated parking space and reverses into the space; this process is called the parking phase of the autonomous passenger-waiting parking function. The autonomous driving method in this embodiment can be for the cruise phase of the autonomous passenger-waiting parking function.
[0062] To achieve autonomous parking for passengers, the process involves both a teaching process for the target vehicle and an autonomous parking process. During the teaching process, the user needs to drive the target vehicle to complete the lesson. For example, by switching the target vehicle to teaching mode, the user drives the target vehicle (from the teaching start point to the teaching end point, i.e., the designated parking space). During this process, the target vehicle learns the user's teaching path and constructs a high-precision map of the teaching path in real time. After completing the teaching process, the target vehicle stores the teaching path and the high-precision map along it.
[0063] For example, the teaching process of the target vehicle can be executed only once or multiple times (such as re-executing the teaching process of the target vehicle every month), so that the target vehicle stores the latest teaching path and the latest high-precision map. In this embodiment, there is no restriction on the teaching process of the target vehicle.
[0064] After storing the teaching path and high-precision map for the target vehicle, the autonomous parking process for waiting for passengers can be executed. For example, the target vehicle's mode can be adjusted to autonomous driving mode, and the user can drive the target vehicle to the teaching starting point. In this way, the target vehicle can complete the autonomous parking process for waiting for passengers based on the teaching path and high-precision map, that is, drive from the teaching starting point to the teaching ending point and arrive at the designated parking space.
[0065] For example, automated valet parking is typically used in parking lot or closed park environments. In these scenarios, the uncertainty of ground traffic participants is high. Pedestrians or obstacles may suddenly appear around the target vehicle, which may cause the target vehicle to collide with the surrounding obstacles, posing a safety hazard.
[0066] In response to the above findings, this application embodiment can adaptively generate either a centered path (i.e., the center position of all lanes, which can cross the median markings) or a right-hand path (i.e., the right lane, which cannot cross the median markings). For the centered path, the vehicle speed can be increased, and even if a pedestrian or vehicle suddenly appears, the larger distance between the centered path and the right side allows sufficient reaction time to prevent a collision. For the right-hand path, the vehicle speed can be reduced, and even if a pedestrian or vehicle suddenly appears, the slower speed of the target vehicle also allows sufficient reaction time to prevent a collision.
[0067] For example, at the application implementation level, the user can set the driving style mode of the target vehicle. If the driving style mode is speed priority mode, the target vehicle will generate a centered path and increase its speed, meaning the target vehicle can cross the center line and travel at a higher speed. Alternatively, if the driving style mode is safety priority mode, the target vehicle will generate a right-hand path and decrease its speed, meaning the target vehicle will travel at a lower speed in the rightmost lane. Alternatively, if the driving style mode is intelligent mode, the target vehicle can adaptively generate either a centered path or a right-hand path, that is, it can adaptively adjust speed priority or safety priority based on the distribution of obstacles ahead. This embodiment uses intelligent mode as an example for explanation.
[0068] This application proposes an autonomous driving method. After the target vehicle reaches the teaching starting point and activates autonomous driving (i.e., autonomous driving mode), see [link to relevant documentation]. Figure 2 As shown, the method includes:
[0069] Step 201: The target vehicle selects multiple teaching path points from the teaching path.
[0070] For example, the target vehicle stores a teaching path, from which multiple teaching path points can be selected, such as selecting a path point as a teaching path point at preset intervals. For instance, the teaching path can be sampled to obtain multiple discrete points at equal intervals as teaching path points.
[0071] Step 202: For each teaching path point, the target vehicle determines the target lane model corresponding to that teaching path point. The target lane model can be a laneless model, a single-lane model, or a two-lane model.
[0072] See Figure 3A As shown, the target lane model corresponding to the teaching path point can be determined using the following steps:
[0073] Step 2021: The target vehicle acquires perception information about the surrounding environment of the target vehicle.
[0074] For example, the perceived information may also be referred to as environmental information, which may include, but is not limited to, at least one of the following: wall information, pillar information, curb information, lane line information (such as dashed lane lines and / or solid lane lines in the center of the road), parking space information, and information on vehicles parked on the road.
[0075] The target vehicle can collect perception information about its surroundings based on sensors such as cameras (e.g., surround view cameras) and ultrasonic radar, and determine the target vehicle's location on a high-precision map based on the perception information.
[0076] Step 2022: The target vehicle determines whether there is an obstacle to the right of the taught path point based on the perception information. If not, proceed to step 2023; if yes, proceed to step 2024.
[0077] For example, for each teaching path point, based on the perceived information and the high-precision map, it can be determined whether there is an obstacle to the right of the teaching path point, and whether there is an obstacle to the left of the teaching path point. There are no restrictions on the method of determination. The obstacle can be a wall, pillar, curb, lane line, parking space, parked vehicle, pedestrian, etc., and there are no restrictions on the type of obstacle.
[0078] Step 2023: The target vehicle determines that the target lane model corresponding to the teaching path point is a laneless model, that is, when there is no obstacle on the right side of the teaching path point, the target lane model is a laneless model.
[0079] Step 2024: The target vehicle determines whether there is an obstacle to the left of the taught path point based on the perception information. If not, proceed to step 2025; if yes, proceed to step 2026.
[0080] Step 2025: The target vehicle determines that the target lane model corresponding to the teaching path point is a single-lane model, that is, when there is no obstacle on the left side of the teaching path point, the target lane model is a single-lane model.
[0081] Step 2026: The obstacle to the left of the teaching path point can be called the first obstacle (the first obstacle is the obstacle closest to the teaching path point among all obstacles on the left), and the obstacle to the right of the teaching path point can be called the second obstacle (the second obstacle is the obstacle closest to the teaching path point among all obstacles on the right). The target vehicle determines whether the distance between the first obstacle and the second obstacle is less than a threshold (which can be configured based on experience, such as the threshold being greater than the width of two lanes). If yes, then proceed to step 2027; if no, then proceed to step 2028.
[0082] Step 2027: The target vehicle determines that the target lane model corresponding to the teaching path point is a single-lane model, that is, when the distance between the first obstacle and the second obstacle is less than the threshold, the target lane model is a single-lane model.
[0083] Step 2028: The target vehicle determines that the target lane model corresponding to the teaching path point is a two-lane model, that is, when the distance between the first obstacle and the second obstacle is not less than the threshold, the target lane model is a two-lane model.
[0084] At this point, step 202 is complete, and the target lane model corresponding to each teaching path point can be determined.
[0085] Step 203: For each teaching path point, the target vehicle determines the desired path point of the teaching path point based on the target lane model corresponding to that teaching path point, thus obtaining the desired path point of each teaching path point.
[0086] For example, if the target lane model corresponding to the teaching path point is a laneless model, that is, it is determined based on the perception information that there is no obstacle to the right of the teaching path point, then since there is usually an obstacle on the right side of the lane, the perception information is not reliable. In order to ensure driving safety, when the target lane model is a laneless model, the teaching path point can be used as the desired path point, that is, you need to drive on the right at the desired path point (you usually drive in the right lane during the teaching process, that is, the teaching path point is in the right lane).
[0087] If the target lane model corresponding to the teaching path point is a single-lane model, and it is determined based on perception information that there is no obstacle to the left of the teaching path point, then the perception information is unreliable because there are usually obstacles on the left side of the lane. In order to ensure driving safety, when the target lane model is a single-lane model, the teaching path point can be used as the desired path point, that is, you need to drive on the right at the desired path point.
[0088] If the target lane model corresponding to the teaching path point is a single-lane model, and based on perception information it is determined that there is a first obstacle to the left of the teaching path point and a second obstacle to the right of the teaching path point, and the distance between the first obstacle and the second obstacle is less than a threshold, then, since the distance between the first obstacle and the second obstacle is relatively small, in order to ensure driving safety, when the target lane model is a single-lane model, the teaching path point can be used as the desired path point, that is, driving on the right side is required at the desired path point.
[0089] If the target lane model corresponding to the teaching path point is a two-lane model, and it is determined based on perception information that there is a first obstacle on the left side of the teaching path point and a second obstacle on the right side of the teaching path point, and the distance between the first obstacle and the second obstacle is not less than a threshold, then, since the distance between the first obstacle and the second obstacle is relatively large, when the target lane model is a two-lane model, the center point between the first obstacle and the second obstacle can be taken as the desired path point, that is, driving in the center of the desired path point.
[0090] In summary, the desired path point for each teaching path point can be obtained. This desired path point can be either a teaching path point or the center point between the first obstacle and the second obstacle. If the desired path point is a teaching path point, then the vehicle needs to keep to the right at that desired path point; if the desired path point is the center point between the first obstacle and the second obstacle, then the vehicle needs to stay in the center at that desired path point.
[0091] For example, see Figure 3B and Figure 3C The diagram illustrates the desired path point being the center point, meaning the target vehicle needs to travel in the center. Figure 3B In the center, on both sides are continuous parking space information and wall information. This parking space and wall information can come from high-precision maps or from sensor information. The continuous parking space and wall information on both sides constitutes obstacles in the current environment, used to determine the desired path point for the teaching path. Figure 3C In the middle, although there is no parking space information as a reference, the vehicles parked side by side on the right serve as a reference, thus constituting obstacles in the current environment, which are used to determine the desired path point of the teaching path point.
[0092] After obtaining the above reference information, discrete sampling nodes are generated at preset intervals (e.g., 1m). In the case of a two-lane road, after the sampling nodes on both sides are generated, the centrally located sampling node can be generated simultaneously, see [link to documentation]. Figure 3B As shown. In single-lane or laneless scenarios, the centrally located sampling node has no reference for calculation; it can be directly taken from the nearest sampling point on the teaching trajectory. Specifically, in an open scene, the sampling point will be generated in the center of the lane. In a non-open scene, the sampling point will be generated on the right side of the lane. Since it is difficult to determine whether a scene is open, the methods for determining a non-open scene can include, but are not limited to: the absence of dynamic vehicles in the scene, dynamic vehicles being in parking spaces (considering false detections), and the target vehicle being in front of a gate or on an incline / exit ramp.
[0093] Step 204: After obtaining multiple expected path points corresponding to multiple teaching path points, the target vehicle determines the target gradients corresponding to the multiple expected path points. Specifically, for each expected path point, the target gradient corresponding to that expected path point can be determined based on at least one of the smoothness gradient, curvature gradient, and obstacle gradient of that expected path point.
[0094] For example, to obtain the trajectory of a target vehicle, an optimization algorithm can be used to determine its trajectory. The goal of this algorithm is to obtain a smooth curve with low curvature (suitable for vehicle following) and a distance from fixed obstacles such as walls. Based on this, the gradients of the smoothness, curvature, and obstacles can be considered during optimization. In summary, for each desired path point, the target gradient can be determined based on its smoothness gradient, curvature gradient, and obstacle gradient. For instance, the sum of the smoothness gradient, curvature gradient, and obstacle gradient can be used as the target gradient.
[0095] For the gradient of the smoothing term of the desired path point, for the curve smoothing term, we can consider the current point, the two preceding points and the two following points on the curve, a total of five points constituting the smoothing term. The gradient of the smoothing term of the desired path point can be determined by the following formula. Of course, the following formula is just an example and is not a limitation.
[0096]
[0097] See Figure 4A The diagram shown illustrates the determination of the gradient of the smoothing term for the current point x. i The smoothing term is obtained by calculating four sets of changes from five points before and after (each set of changes consists of the gradient of (x, y)).
[0098] See Figure 4A As shown, x i Let x represent the desired path point. i-1 x represents the first expected path point preceding the expected path point. i-2 x represents the second expected path point preceding the expected path point. i+1 x represents the first expected path point following the expected path point. i+2 This indicates the second expected path point following the first expected path point.
[0099] See Figure 4A As shown, Δx i+2 This represents the vector between the first expected path point following the expected path point and the second expected path point following the expected path point. Δx i+1 This represents the vector between the desired path point and the first desired path point following it. Δx i This represents the vector between the first expected path point preceding the expected path point and the expected path point itself. Δx i-1 This represents the vector between the second expected path point preceding the expected path point and the first expected path point preceding the expected path point.
[0100] In the above formula, grad smooth The gradient of the smooth term is used to represent the desired path point.
[0101] Referring to the formula above, since the coordinates of each desired path point can be obtained, i.e., the desired path point x is known... i x i-1 x i-2 x i+1 x i+2 Therefore, we can obtain Δx i+2 Δx i+1 Δx i Δx i-1Isovectors can then be used to obtain the desired path point x. i The gradient of the smoothing term grad smooth The process of determining this will not be elaborated further.
[0102] For the curvature gradient of the desired path point, for the curvature term of a curve, we can consider the current point, the previous point, and the subsequent point on the curve, which together constitute the curvature term. The curvature gradient of the desired path point can be determined by the following formula. Of course, the following formula is just an example and is not a limitation.
[0103]
[0104]
[0105] See Figure 4A The diagram shown illustrates the determination of the gradient of the curvature term. After converting the curvature term into the formula described above, ΔΦ i Regarding x i-1 ,x i ,x i+1 The partial derivative term can be calculated using the triangle formed by the current point, the previous point, and the next point. Figure 4A In the image, the dashed line shows the triangle formed by these three points.
[0106] See Figure 4A As shown, Δx i This represents the vector between the first expected path point preceding the expected path point and the expected path point itself. ΔΦ i x represents the angle between the first line and the second line. The first line is the line connecting the first expected path point before the expected path point and the expected path point itself. The second line is the line connecting the first expected path point after the expected path point and the expected path point itself. i This represents the desired path point. i-1 This represents the first expected path point preceding the expected path point. i+1 This represents the first expected path point following the expected path point. In the above formula, grad... curvature This represents the gradient of the curvature term at the desired path point.
[0107] Referring to the formula above, since the coordinates of each desired path point can be obtained, i.e., the desired path point x is known... i x i-1 x i+1 Therefore, we can obtain Δx i Isovectors, and obtain ΔΦ i By using equal angles, the desired path point x can be obtained. i The gradient of the curvature term grad curvature The process of determining this will not be elaborated further.
[0108] For the obstacle gradient of the desired path point, in the first calculation method, the obstacle description uses an occupancy value raster map. The occupancy value raster map is defined as follows: when a grid cell is an obstacle, the occupancy value is 0; when a grid cell is not an obstacle, the occupancy value is the grid offset from the nearest obstacle. Under this expression, the obstacle gradient of the desired path point can be determined using the following formula. Of course, the following formula is only an example, and this determination method is not limited.
[0109]
[0110] In the above formula, x represents the x-coordinate of the desired path point in the raster map, y represents the y-coordinate of the desired path point in the raster map; ε represents the configured value; f(x,y) represents the raster offset of (x,y) from the nearest obstacle in the raster map; grad obs This represents the gradient of the obstacle term at the desired path point.
[0111] See Figure 4B The diagram shown is a schematic representation of the obstacle gradient described by the numerical raster map, for the desired path point x. i x represents the desired path point x i In the raster image, the x-coordinate represents the desired path point x. i The vertical axis corresponds to the raster graph. ε represents a configured value, which can be configured empirically.
[0112] One approach is to consider a grid that increases by a size ε along the X-axis, i.e., f(x+ε, y), where this grid represents the desired path point x. i The grid offset from the nearest obstacle in the grid (i.e., the nearest obstacle on the right). Consider a grid that decreases by ε along the X-axis, i.e., f(x-ε, y), where this grid represents the desired path point x. i The grid offset from the nearest obstacle in the grid (i.e., the nearest obstacle on the left).
[0113] One approach is to consider a grid that increases in size ε along the Y-axis, i.e., f(x,y+ε), where this grid represents the desired path point x. i The grid offset from the nearest obstacle (i.e., the nearest obstacle above) in the grid map. Consider a grid that decreases by ε along the Y-axis, i.e., f(x, y-ε), where this grid represents the desired path point x. i The grid offset from the nearest obstacle in the grid (i.e., the nearest obstacle below).
[0114] Based on the changes in the magnitude of the four grid offsets mentioned above, the gradients in the X-axis and Y-axis directions can be calculated. These gradients are the obstacle term gradients (grads). obs .
[0115] For the obstacle term gradient of the desired path point, in the second method of calculating the obstacle term gradient, the obstacle is described in vector form. Under this expression, the obstacle term gradient of the desired path point can be determined by the following formula. Of course, the following formula is just an example and is not a limitation.
[0116]
[0117] In the above formula, d obs This represents the closest distance between the desired path point and the obstacle; x represents the x-coordinate of the desired path point, y represents the y-coordinate of the desired path point; const represents the configured furthest distance value; d min_consider Indicates const and d obs The difference between them; grad obs This represents the gradient of the obstacle term at the desired path point.
[0118] See Figure 4C The image shown is a schematic diagram of the obstacle gradient described by a vector diagram, for the desired path point x. i x represents the x-coordinate of the desired path point, and y represents the y-coordinate. In this method, obstacles are described using polygons (closed) or polylines (unclosed), d obs Represents the desired path point x i The nearest distance to the obstacle, where `const` represents the farthest distance to consider, which can be a constant, such as 1m. Based on this, if the desired path point x... i When there is an obstacle greater than 1m, d min_consider If the value of x is negative, the max term in the gradient calculation function will not have any effect, if the desired path point x is... i When the obstacle is less than 1m, d min_consider When the value is positive, the gradient term takes effect.
[0119] In summary, for each desired path point, the smoothness gradient, curvature gradient, and obstacle gradient of that desired path point can be calculated. Then, based on the smoothness gradient, curvature gradient, and obstacle gradient, the target gradient corresponding to that desired path point can be determined.
[0120] Step 205: The target vehicle optimizes multiple desired path points based on the target gradients corresponding to those desired path points, obtaining multiple candidate path points corresponding to the desired path points. For example, for each desired path point, the desired path point is optimized based on the target gradient corresponding to that desired path point to obtain a candidate path point corresponding to that desired path point. There are no restrictions on the optimization method for this desired path point.
[0121] For example, based on the target gradients corresponding to multiple desired path points, computational geometry methods can be used to optimize these desired path points, resulting in multiple candidate path points. The line connecting these candidate path points forms a smooth curve. The computational geometry methods can include, but are not limited to, polynomial curves, B-spline curves, etc., and there are no restrictions on the optimization methods used.
[0122] Step 206: The target vehicle determines whether multiple candidate path points meet the convergence conditions.
[0123] If yes, proceed to step 207. If no, multiple candidate path points can be used as multiple desired path points, and the process returns to step 204, that is, the target gradients corresponding to the multiple desired path points are redefined.
[0124] For example, convergence can be determined based on the target gradient corresponding to each desired path point. If the target gradients for all desired path points are less than a threshold, then convergence is satisfied; otherwise, convergence is not satisfied. Alternatively, if the target gradients for some desired path points (e.g., 80% or 90% of the total) are less than a threshold, then convergence is satisfied; otherwise, convergence is not satisfied.
[0125] For example, if the number of iterations of the desired path point (i.e., the number of repetitions of steps 204-206) reaches a preset threshold, then the convergence condition is determined to be met; otherwise, the convergence condition is determined not to be met.
[0126] Step 207: The target vehicle generates a reference path based on multiple candidate path points. For example, the curve composed of multiple candidate path points is used as the reference path. There are no restrictions on how the reference path is generated.
[0127] Step 208: The target vehicle can generate a target path based on the reference path.
[0128] For example, after obtaining the reference path, a target path can be generated based on the reference path. The target path is the driving trajectory of the target vehicle, that is, the real-time driving trajectory of the target vehicle. When generating the target path of the target vehicle, factors such as smoothness, curvature, and obstacles can also be considered. The smoothness of the target path is considered through an optimization function, and the curvature and obstacles of the target path are represented by constraints.
[0129] In one possible implementation, the target path can be generated using the following steps:
[0130] Step 2081: Select multiple reference path points from the reference path, and obtain multiple path segments based on the multiple reference path points. Each path segment includes an adjacent first reference path point and a second reference path point.
[0131] For example, the reference path can be discretely sampled, such as sampling a path point at preset intervals (e.g., 0.5 meters) as a reference path point. This yields multiple reference path points, such as reference path point p1, reference path point p2, reference path point p3, reference path point p4, and so on. Multiple path segments are then obtained based on these multiple reference path points. For instance, path segment s1 includes adjacent reference path points p1 and p2, with p1 serving as the first reference path point and p2 as the second. Path segment s2 includes adjacent reference path points p2 and p3, with p2 serving as the first reference path point and p3 as the second, and so on.
[0132] Step 2082: For each path segment, determine the iterative optimization parameters based on the first reference path point and the second reference path point of the path segment, that is, the iterative optimization parameters corresponding to the path segment.
[0133] For example, if the first reference path point is used as the starting point of the path segment and the second reference path point is used as the ending point of the path segment, the lateral parameter corresponding to the path segment can be determined using the following formula. Of course, the following formula is just an example for determining the lateral parameter, and there are no restrictions on how this lateral parameter is determined.
[0134]
[0135] In the above formula, x s The x-coordinate represents the horizontal coordinate of the first reference path point. s ' represents the first transverse derivative of the first reference path point, x s " represents the second transverse derivative of the first reference path point. e The x-coordinate represents the horizontal coordinate of the second reference path point. e ' represents the first transverse derivative of the second reference path point, x e " represents the second lateral derivative of the second reference path point. a0, a1, a2, a3 represent the lateral parameters corresponding to this path segment.
[0136] Replace a0, a1, a2, a3 in the above formula with b0, b1, b2, b3, and change x... s Replace with the vertical coordinate y of the first reference path point s , will xs Replace with the first longitudinal derivative y of the first reference path point. s ', will x s Replace with the second longitudinal derivative y of the first reference path point. s ", to x e Replace with the vertical coordinate y of the second reference path point e , will x e Replace with the first longitudinal derivative y of the second reference path point. e ', will x e Replace with the second longitudinal derivative y of the second reference path point. e This yields the longitudinal parameters b0, b1, b2, and b3 corresponding to the path segment.
[0137] Clearly, the horizontal parameters a0, a1, a2, a3 and the vertical parameters b0, b1, b2, b3 can form the iterative optimization parameters corresponding to this path segment. Thus, the iterative optimization parameters corresponding to this path segment are obtained.
[0138] Step 2083: Based on the iterative optimization parameters and the configured numerical range, determine the candidate polynomial curve corresponding to the path segment, wherein the numerical range may include multiple values between 0 and 1.
[0139] For example, the calculation of the smoothing term can consider minimizing the first and second derivatives of a multi-segment cubic polynomial spline spiral curve. Based on this, for the real-time trajectory between every two discrete points (i.e., the path segment between every two reference path points), a piecewise cubic spline representation in XY space can be used, that is, the candidate polynomial curve corresponding to each path segment can be represented by a piecewise cubic spline in XY space.
[0140] For example, for each path segment, the candidate polynomial curve corresponding to that path segment can be determined using the following formula: x = (1, s, s) 2 ,s 3 (a0,a1,a2,a3) T y = (1, s, s) 2 ,s 3 (b0,b1,b2,b3) T Where a0, a1, a2, a3 represent the lateral parameters of the path segment, and b0, b1, b2, b3 represent the longitudinal parameters of the path segment.
[0141] When s is 0, x represents the x-coordinate of the starting point of the candidate polynomial curve, and y represents the y-coordinate of the starting point of the candidate polynomial curve, which is the starting point coordinate after the correction of the first reference path point of the path segment.
[0142] When s is 1, x represents the x-coordinate of the endpoint of the candidate polynomial curve, and y represents the y-coordinate of the endpoint of the candidate polynomial curve, which is the endpoint coordinate after the second reference path point of the path segment is corrected.
[0143] When s is a value between 0 and 1, such as 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, etc., multiple coordinate points can be obtained, and these coordinate points form the candidate polynomial curve.
[0144] In summary, for each path segment, based on the iterative optimization parameters (a0, a1, a2, a3, b0, b1, b2, b3) corresponding to the path segment and multiple values within the range of 0-1, the candidate polynomial curve corresponding to the path segment can be determined. The candidate polynomial curve can be uniquely determined by the 0-2 order values at both endpoints.
[0145] Step 2084: Determine the first curvature constraint parameter and the second curvature constraint parameter based on the candidate polynomial curve, and determine the target curvature based on the first curvature constraint parameter and the second curvature constraint parameter.
[0146] For example, the first curvature constraint parameter, the second curvature constraint parameter, and the target curvature can be determined based on the following formula. Of course, the following formula is just an example, and there are no restrictions on this determination method.
[0147]
[0148] In the above formula, x' represents the first transverse derivative of the target point on the candidate polynomial curve, and the target point can be any point on the candidate polynomial curve; y' represents the first longitudinal derivative of the target point; x” represents the second transverse derivative of the target point; y” represents the second longitudinal derivative of the target point; C1 represents the first curvature constraint parameter; C2 represents the second curvature constraint parameter; and K represents the target curvature.
[0149] Clearly, any point can be selected from the candidate polynomial curve as the target point, where x represents the x-coordinate and y represents the y-coordinate. Then, the first transverse derivative x' and the first longitudinal derivative y' of the target point can be calculated, along with the second transverse derivative x" and the second longitudinal derivative y". Based on this information, the first curvature constraint parameter, the second curvature constraint parameter, and the target curvature can be determined.
[0150] For example, an extremely nonlinear constraint can be seen in the following expression: This expression can be equivalent to the three expressions mentioned above (i.e., K, C1, C2). During problem solving, this constraint term can be considered as an activation term. If the path calculated for the current optimization problem does not exceed the curvature limit, this optimization term can remain inactive. When the curvature exceeds the limit, this optimization term needs to be activated, using the first derivative of the optimized path with curvature exceeding the limit as a constant to optimize the second derivative. In this case, the first derivative of the trajectory can be used as a constant to calculate the constraint problem that conforms to the curvature.
[0151] Step 2085: Determine whether the target curvature is less than a preset threshold (which can be configured based on experience). If yes, proceed to step 2086; otherwise, proceed to step 2087.
[0152] For example, if the target curvature of the candidate polynomial curves corresponding to all path segments is less than a preset threshold, then step 2086 is executed. For each path segment, if the target curvature of the candidate polynomial curve corresponding to the path segment is not less than the preset threshold, then step 2087 is executed for the path segment; otherwise, step 2087 is not executed for the path segment, until the target curvature of all candidate polynomial curves is less than the preset threshold.
[0153] Step 2086: Use the candidate polynomial curve as the target path. For example, the candidate polynomial curves corresponding to all path segments can be combined to obtain the target path of the target vehicle.
[0154] Step 2087: For each path segment, if the target curvature of the candidate polynomial curve corresponding to the path segment is not less than a preset threshold, then the first point (i.e., the starting point) and / or the last point (i.e., the ending point) of the candidate polynomial curve are adjusted to obtain the adjusted curve. The first point of the adjusted curve is taken as the first reference path point, and the last point of the adjusted curve is taken as the second reference path point. Then, return to step 2082, that is, take the adjusted curve as the path segment, and recalculate the iterative optimization parameters corresponding to the path segment.
[0155] In one possible implementation, the curvature of the target path and obstacles can be represented by constraints. Regarding the curvature constraint of the target path, see steps 2081-2087. Regarding the obstacle constraint of the target path, the obstacle constraint can be described using an affine transformation expression, as shown below: Ax ≤ b. This affine transformation expression indicates that for each trajectory point to be optimized, it is constrained in an affine transformation space, see [reference needed]. Figure 5 As shown. The optimization objective and constraints of the above problem conform to the canonical form of a quadratic programming problem, and can be solved using a quadratic programming algorithm.
[0156] At this point, step 208 is complete, and the target path of the target vehicle can be obtained.
[0157] Step 209: The target vehicle controls its movement based on the target path.
[0158] For example, when the target path is in the center position, the target vehicle is controlled to travel at a first speed, that is, the target vehicle is controlled to travel in the center at the first speed. When the target path is in the right position, the target vehicle is controlled to travel at a second speed, that is, the target vehicle is controlled to travel to the right at the second speed.
[0159] For example, if the target path corresponds to at least two lanes, the center position can be the center position of all lanes (when a vehicle is in the center position, it can cross the middle lane markings), and the right position is the right lane position (such as the rightmost lane, where a vehicle cannot cross the middle lane markings when it is in the right position).
[0160] For example, the first speed can be greater than the second speed. For instance, the first speed can be 15 km / h (e.g., the maximum speed), and the second speed can be 8 km / h (e.g., the system alert speed). Obviously, a centered desired trajectory or a right-leaning desired trajectory can be calculated. When the centered trajectory is generated, the vehicle speed is increased to the first speed, and when the right-leaning trajectory is generated, the vehicle speed is decreased to the second speed.
[0161] Centering the vehicle refers to the following during the memory parking cruise: In open environments, the target vehicle increases its speed and drives in the center of multiple lanes, operating autonomously without regard to lane traffic rules. The target vehicle is kept far away from any dynamic obstacles that may suddenly appear on either side, allowing ample reaction time. Keeping to the right refers to the following during the memory parking cruise: In complex scenarios, to avoid potential dynamic or static obstacles, the target vehicle follows the traffic rules indicated by road markings, keeping to the right and reducing its speed to improve safety.
[0162] As can be seen from the above technical solutions, in this embodiment, a centered path can be adaptively generated to control the vehicle's movement along it, while also increasing the vehicle's speed and improving driving efficiency. While increasing speed, sufficient reaction time is allowed for pedestrians or vehicles suddenly appearing on the right (i.e., the centered path has a large gap from the right side, allowing sufficient reaction time) to prevent collisions. Alternatively, a right-leaning path can be adaptively generated to control the vehicle's movement along it, while also reducing speed to ensure driving safety, i.e., preventing collisions by reducing vehicle speed. See also... Figure 6As shown, when there are no moving vehicles ahead, the target vehicle can drive in the center, increasing its speed while allowing sufficient reaction time to avoid collisions with pedestrians or other unexpected situations appearing on the right. When there are moving vehicles ahead, the target vehicle should drive to the right, reducing its speed to ensure smooth passage for oncoming traffic.
[0163] Based on the same concept as the methods described above, this application proposes an autonomous driving device applied to a target vehicle. See [link to relevant documentation]. Figure 7 The diagram shown is a structural schematic of the device, which includes:
[0164] The determination module 71 is used to select multiple teaching path points from the teaching path after the target vehicle starts autonomous driving, and determine the desired path point corresponding to each teaching path point; wherein the target vehicle stores teaching paths; wherein, for each teaching path point, if it is determined based on perception information that there are no obstacles to the left and / or right of the teaching path point, then the teaching path point is taken as the desired path point; if it is determined based on perception information that there is a first obstacle to the left of the teaching path point and a second obstacle to the right of the teaching path point, then when the distance between the first obstacle and the second obstacle is less than a threshold, the teaching path point is taken as the desired path point; when the distance is not less than the threshold, the center point between the first obstacle and the second obstacle is taken as the desired path point; the generation module 72 is used to generate a target path based on the multiple desired path points corresponding to the multiple teaching path points; the control module 73 is used to control the target vehicle to drive based on the target path; wherein, when the target path is in the center position, the target vehicle is controlled to drive at a first speed, and when the target path is in the right position, the target vehicle is controlled to drive at a second speed, and the first speed is greater than the second speed.
[0165] For example, if the target path corresponds to at least two lanes, the center position is the center position of all lanes, and the right position is the position of the right lane; for each taught path point, the determining module 71 determines the desired path point corresponding to that taught path point specifically by:
[0166] The target lane model corresponding to the teaching path point is determined; wherein, if it is determined based on perception information that there is no obstacle to the right of the teaching path point, the target lane model is determined to be a laneless model; if it is determined based on perception information that there is no obstacle to the left of the teaching path point, the target lane model is determined to be a single-lane model; if it is determined based on perception information that there is a first obstacle to the left of the teaching path point and a second obstacle to the right, and the distance between the first obstacle and the second obstacle is less than a threshold, the target lane model is determined to be a single-lane model; if the distance is not less than the threshold, the target lane model is determined to be a two-lane model.
[0167] The desired path point is determined based on the target lane model; wherein, if the target lane model is a laneless model or a single-lane model, the taught path point is taken as the desired path point; if the target lane model is a two-lane model, the center point between the first obstacle and the second obstacle is taken as the desired path point.
[0168] For example, when generating a target path based on multiple expected path points corresponding to the multiple teaching path points, the generation module 72 is specifically used to: determine the target gradients corresponding to the multiple expected path points; for each expected path point, the target gradient corresponding to the expected path point is determined based on at least one of the smoothness term gradient, the curvature term gradient, and the obstacle term gradient of the expected path point; optimize the multiple expected path points based on the target gradients corresponding to the multiple expected path points to obtain multiple candidate path points corresponding to the multiple expected path points; if the multiple candidate path points meet the convergence condition, generate a reference path based on the multiple candidate path points, and generate the target path based on the reference path; if the multiple candidate path points do not meet the convergence condition, treat the multiple candidate path points as multiple expected path points, and return the operation of determining the target gradients corresponding to the multiple expected path points.
[0169] For example, when the generation module 72 generates the target path based on the reference path, it is specifically used to: select multiple reference path points from the reference path; obtain multiple path segments based on the multiple reference path points, each path segment including adjacent first reference path points and second reference path points; for each path segment, determine iterative optimization parameters based on the first and second reference path points of the path segment; determine candidate polynomial curves corresponding to the path segment based on the iterative optimization parameters and the configured numerical range, the numerical range including multiple values between 0 and 1; and determine the target path based on the candidate polynomial curves.
[0170] For example, when the generation module 72 determines the target path based on the candidate polynomial curve, it is specifically used to: determine a first curvature constraint parameter and a second curvature constraint parameter based on the candidate polynomial curve; determine a target curvature based on the first curvature constraint parameter and the second curvature constraint parameter; if the target curvature is less than a preset threshold, then the candidate polynomial curve is used as the target path; if the target curvature is not less than the preset threshold, then the first point and / or the last point of the candidate polynomial curve is adjusted to obtain an adjusted curve, the first point of the adjusted curve is used as a first reference path point, the last point of the adjusted curve is used as a second reference path point, and the operation of determining iterative optimization parameters based on the first reference path point and the second reference path point of the path segment is returned.
[0171] Based on the same application concept as the above method, this application proposes an autonomous driving vehicle, see [link to relevant documentation]. Figure 8 As shown, the autonomous vehicle includes a processor 81 and a machine-readable storage medium 82, the machine-readable storage medium 82 storing machine-executable instructions that can be executed by the processor 81; the processor 81 is used to execute the machine-executable instructions to implement the autonomous driving method disclosed in the above example of this application.
[0172] Based on the same concept as the above method, this application also provides a machine-readable storage medium storing a plurality of computer instructions, which, when executed by a processor, can implement the autonomous driving method disclosed in the above examples of this application.
[0173] The aforementioned machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, etc. For example, machine-readable storage media can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.
[0174] The systems, devices, modules, or units described in the above embodiments can be implemented by a computer or entity, or by a product with a certain function. A typical implementation device is a computer, which can be a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.
[0175] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.
[0176] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0177] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0178] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. An autonomous driving method, characterized in that, Applied to a target vehicle that stores teaching paths, the method includes the following steps after the target vehicle initiates autonomous driving: Select multiple teaching path points from the teaching path; Determine the desired path point corresponding to each teaching path point; wherein, for each teaching path point, if it is determined based on perception information that there are no obstacles to the left and / or right of the teaching path point, the teaching path point is taken as the desired path point; if it is determined based on perception information that there is a first obstacle to the left of the teaching path point and a second obstacle to the right of the teaching path point, and the distance between the first obstacle and the second obstacle is less than a threshold, the teaching path point is taken as the desired path point; when the distance is not less than the threshold, the center point between the first obstacle and the second obstacle is taken as the desired path point; Generate a target path based on the multiple expected path points corresponding to the multiple teaching path points; The target vehicle is controlled to travel based on the target path; wherein, when the target path is in the center position, the target vehicle is controlled to travel at a first speed, and when the target path is in the right position, the target vehicle is controlled to travel at a second speed, wherein the first speed is greater than the second speed.
2. The method according to claim 1, characterized in that, If the target path corresponds to at least two lanes, the center position is the center position of all lanes, and the right position is the position of the right lane. For each teaching path point, determining the desired path point corresponding to that teaching path point includes: The target lane model corresponding to the teaching path point is determined; wherein, if it is determined based on perception information that there is no obstacle to the right of the teaching path point, the target lane model is determined to be a laneless model; if it is determined based on perception information that there is no obstacle to the left of the teaching path point, the target lane model is determined to be a single-lane model; if it is determined based on perception information that there is a first obstacle to the left of the teaching path point and a second obstacle to the right, and the distance between the first obstacle and the second obstacle is less than a threshold, the target lane model is determined to be a single-lane model; if the distance is not less than the threshold, the target lane model is determined to be a two-lane model. The desired path point is determined based on the target lane model; wherein, if the target lane model is a laneless model or a single-lane model, the taught path point is taken as the desired path point; if the target lane model is a two-lane model, the center point between the first obstacle and the second obstacle is taken as the desired path point.
3. The method according to claim 1, characterized in that, The step of generating a target path based on multiple desired path points corresponding to the multiple teaching path points includes: Determine the target gradient corresponding to the plurality of desired path points; wherein, for each desired path point, the target gradient corresponding to the desired path point is determined based on at least one of the smoothness term gradient, the curvature term gradient, and the obstacle term gradient of the desired path point. Based on the target gradient corresponding to the multiple expected path points, the multiple expected path points are optimized to obtain multiple candidate path points corresponding to the multiple expected path points; If the multiple candidate path points meet the convergence condition, a reference path is generated based on the multiple candidate path points, and the target path is generated based on the reference path. If the multiple candidate path points do not meet the convergence condition, then the multiple candidate path points are treated as multiple expected path points, and the operation of determining the target gradient corresponding to the multiple expected path points is returned.
4. The method according to claim 3, characterized in that, For each desired path point, the process of determining the gradient of the smoothing term at that desired path point includes: The gradient of the smoothing term at the desired path point is determined using the following formula: Where, Δx i+2 The vector Δx represents the distance between the first expected path point following the expected path point and the second expected path point following the expected path point. i+1 The vector used to represent the relationship between the desired path point and the first desired path point following it; Δx i Δx is used to represent the vector between the first expected path point preceding the expected path point and the expected path point itself. i-1 The vector used to represent the relationship between the second expected path point preceding the expected path point and the first expected path point preceding the expected path point; x i Used to represent the desired path point; grad smooth The gradient of the smooth term is used to represent the desired path point.
5. The method according to claim 3, characterized in that, For each desired path point, the process of determining the gradient of the curvature term at that desired path point includes: The gradient of the curvature term at the desired path point is determined using the following formula: Where, Δx i ΔΦ is used to represent the vector between the first expected path point preceding the expected path point and the expected path point itself. i Used to represent the angle between the first line and the second line, where the first line is the line connecting the first expected path point before the expected path point and the expected path point itself, and the second line is the line connecting the first expected path point after the expected path point and the expected path point itself; x i Used to represent the desired path point; x i-1 Used to indicate the first expected path point preceding this expected path point; x i+1 Used to indicate the first expected path point following this expected path point; grad curvature The gradient of the curvature term is used to represent the desired path point.
6. The method according to claim 3, characterized in that, For each desired path point, the process of determining the gradient of the obstacle term at that desired path point includes: The obstacle term gradient for the desired path point is determined using the following formula: Where x represents the x-coordinate of the desired path point in the raster graph, y represents the y-coordinate of the desired path point in the raster graph; ε represents the configured value; f(x,y) represents the raster offset of (x,y) from the nearest obstacle in the raster graph; grad obs This represents the gradient of the obstacle term at the desired path point.
7. The method according to claim 3, characterized in that, For each desired path point, the process of determining the gradient of the obstacle term at that desired path point includes: The obstacle term gradient for the desired path point is determined using the following formula: Where, d obs This represents the closest distance between the desired path point and the obstacle; x represents the x-coordinate of the desired path point, y represents the y-coordinate of the desired path point; const represents the configured furthest distance value; d min_consider Indicates const and d obs The difference between them; grad obs This represents the gradient of the obstacle term at the desired path point.
8. The method according to claim 3, characterized in that, The process of generating the target path based on the reference path includes: Multiple reference path points are selected from the reference path, and multiple path segments are obtained based on the multiple reference path points. Each path segment includes an adjacent first reference path point and a second reference path point. For each path segment, iterative optimization parameters are determined based on the first reference path point and the second reference path point of the path segment; based on the iterative optimization parameters and the configured numerical range, candidate polynomial curves corresponding to the path segment are determined, wherein the numerical range includes multiple values between 0 and 1. The target path is determined based on the candidate polynomial curve.
9. The method according to claim 8, characterized in that, Determining the target path based on the candidate polynomial curve includes: The first curvature constraint parameter and the second curvature constraint parameter are determined based on the candidate polynomial curve, and the target curvature is determined based on the first curvature constraint parameter and the second curvature constraint parameter. If the target curvature is less than a preset threshold, then the candidate polynomial curve is taken as the target path; If the target curvature is not less than a preset threshold, the first point and / or the last point of the candidate polynomial curve are adjusted to obtain the adjusted curve. The first point of the adjusted curve is taken as the first reference path point, and the last point of the adjusted curve is taken as the second reference path point. Then, the operation of determining the iterative optimization parameters based on the first and second reference path points of the path segment is returned.
10. The method according to claim 9, characterized in that, The step of determining the first curvature constraint parameter and the second curvature constraint parameter based on the candidate polynomial curve, and determining the target curvature based on the first curvature constraint parameter and the second curvature constraint parameter, includes: The first curvature constraint parameter, the second curvature constraint parameter, and the target curvature are determined based on the following formula: Where x' represents the first transverse derivative of the target point on the candidate polynomial curve, the target point being any point on the candidate polynomial curve, y' represents the first longitudinal derivative of the target point, x” represents the second transverse derivative of the target point, y” represents the second longitudinal derivative of the target point, C1 represents the first curvature constraint parameter, C2 represents the second curvature constraint parameter, and K represents the target curvature.
11. An automatic driving device, characterized in that, Applied to a target vehicle, the device includes: A determination module is used to select multiple teaching path points from the teaching path after the target vehicle starts autonomous driving, and determine the desired path point corresponding to each teaching path point; wherein the target vehicle stores teaching paths; wherein, for each teaching path point, if it is determined based on perception information that there are no obstacles to the left and / or right of the teaching path point, then the teaching path point is taken as the desired path point; if it is determined based on the perception information that there is a first obstacle to the left of the teaching path point and a second obstacle to the right of the teaching path point, then when the distance between the first obstacle and the second obstacle is less than a threshold, the teaching path point is taken as the desired path point; when the distance is not less than the threshold, the center point between the first obstacle and the second obstacle is taken as the desired path point; The generation module is used to generate a target path based on multiple desired path points corresponding to multiple teaching path points; A control module is used to control the target vehicle to drive based on the target path; wherein, when the target path is located in the center position, the target vehicle is controlled to drive at a first speed, and when the target path is located on the right side position, the target vehicle is controlled to drive at a second speed, and the first speed is greater than the second speed.
12. An autonomous vehicle, characterized in that, include: A processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; The processor is configured to execute machine-executable instructions to implement the method of any one of claims 1-10.
Citation Information
Patent Citations
Map information construction method and device in teaching process
CN113551679A
Urban road automatic parking method and system based on reinforcement learning
CN114454875A