Vehicle escape method and device, electronic equipment and storage medium
By determining the virtual endpoint, generating a sampled map, and planning the path using a fast random search tree in the autonomous driving system, the problem of poor flexibility in the existing escape methods is solved, and the success rate of vehicle escape and the rationality of path planning are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- UISEE TECH BEIJING LTD
- Filing Date
- 2023-09-21
- Publication Date
- 2026-05-12
AI Technical Summary
Existing autonomous driving systems lack flexibility in escaping traffic jams, which may cause the escape point to exceed the road boundary, affecting vehicle safety and operational efficiency.
By determining a virtual endpoint, generating a sampling map, planning an initial path using a fast random search tree, and pruning to determine multiple target escape points, the flexibility and rationality of escape points are improved.
It enables flexible determination of multiple escape points in a blocked state, improving the success rate of vehicle escape and the rationality of path planning.
Smart Images

Figure CN117068205B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of autonomous driving technology, and in particular to a method, apparatus, electronic device, and storage medium for vehicle extrication from difficult situations. Background Technology
[0002] In autonomous driving systems, vehicle extrication is a crucial component. The purpose of extrication is to enable vehicles to overcome environmental constraints when stuck in traffic, thus helping them continue to complete driving tasks.
[0003] Currently, the main solutions for getting out of trouble are passive and conservative. For example, when a vehicle is stuck in traffic, it can reverse and maintain a sufficient distance from the obstacle before driving around it. Alternatively, a get-out point can be generated based on scene rules, and a free-space planning method can be used to help the vehicle move to the get-out point to return to normal operation. However, these methods can only handle relatively simple situations and lack flexibility. Furthermore, the generated get-out points may exceed road boundaries, severely impacting vehicle safety and operational efficiency. Summary of the Invention
[0004] To solve the above-mentioned technical problems, or at least partially solve them, this disclosure provides a vehicle extrication method, apparatus, electronic device, and storage medium. When a vehicle is in a blocked state, multiple extrication points can be flexibly determined, improving the rationality of the extrication points and increasing the success rate of vehicle extrication.
[0005] In a first aspect, embodiments of this disclosure provide a method for vehicle extrication from difficult situations, the method comprising:
[0006] When the vehicle is in a blocked state, the virtual destination is determined based on the vehicle's starting point, target lane, obstacles, and preset search distance;
[0007] A sampled map is generated based on the starting point, the virtual ending point, the current lane width, the widths of other lanes, and the lane lines, using the Frenet coordinate system.
[0008] Based on the starting point, the virtual endpoint, and all obstacles in the sampled map, an initial path is determined using a fast random search tree.
[0009] Based on the starting point in the initial path, each initial escape point in the initial path, and each obstacle, multiple target escape points are determined;
[0010] The vehicle is then assisted in overcoming its entrapment based on multiple target escape points.
[0011] Secondly, this disclosure also provides a vehicle traction device, the device comprising:
[0012] The virtual endpoint determination module is used to determine the virtual endpoint based on the vehicle's starting point, target lane, obstacles, and preset search distance when the vehicle is in a blocked state.
[0013] The sampling map generation module is used to generate a sampling map based on the Frenet coordinate system according to the starting point, the virtual ending point, the current lane width, the widths of other lanes, and the lane lines.
[0014] The initial path determination module is used to determine the initial path based on a fast random search tree according to the starting point, the virtual endpoint, and each obstacle in the sampled map.
[0015] The target escape point determination module is used to determine multiple target escape points based on the starting point in the initial path, each initial escape point in the initial path, and each obstacle;
[0016] The vehicle traction execution module is used to perform traction processing on the vehicle based on multiple target traction points.
[0017] Thirdly, this disclosure also provides an electronic device, the electronic device comprising: one or more processors; a storage device for storing one or more programs; and when the one or more programs are executed by the one or more processors, the one or more processors implement the vehicle extrication method as described above.
[0018] Fourthly, embodiments of this disclosure also provide a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the vehicle extrication method as described above.
[0019] This disclosure provides a vehicle extrication method. When a vehicle is in a blocked state, a virtual endpoint is determined based on the vehicle's starting point, target lane, obstacles, and a preset search distance to facilitate the search and planning of extrication points. A sampling map is generated based on the starting point, virtual endpoint, current lane width, other lane widths, and lane lines using the Frenet coordinate system to avoid exceeding the road network during subsequent search for extrication points and path planning. An initial path is determined based on the starting point, virtual endpoint, and obstacles in the sampling map using a fast random search tree to initially determine extrication points, improving the flexibility of extrication point selection. Furthermore, multiple target extrication points are determined based on the starting point, initial extrication points, and obstacles in the initial path to prune the initial extrication points and improve their effectiveness. Extrication processing is then performed on the vehicle based on these multiple target extrication points. This method achieves the effect of flexibly determining multiple extrication points when the vehicle is in a blocked state, improving the rationality of extrication points and increasing the success rate of vehicle extrication. Attached Figure Description
[0020] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent when taken in conjunction with the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0021] Figure 1 This is a flowchart of a vehicle extrication method according to an embodiment of the present disclosure;
[0022] Figure 2 This is a schematic diagram illustrating one method of determining a virtual endpoint in an embodiment of this disclosure;
[0023] Figure 3 This is a schematic diagram of a virtual vehicle according to an embodiment of the present disclosure;
[0024] Figure 4 This is a schematic diagram of an effective lane and a sampling map in an embodiment of this disclosure;
[0025] Figure 5 This is a schematic diagram of a search tree and initial path in an embodiment of this disclosure;
[0026] Figure 6 This is a schematic diagram illustrating the trimming of the initial path in an embodiment of this disclosure;
[0027] Figure 7 This is a schematic diagram illustrating the optimization of a target escape point in an embodiment of this disclosure;
[0028] Figure 8 This is a schematic diagram of the structure of a vehicle escaping device according to an embodiment of the present disclosure;
[0029] Figure 9 This is a schematic diagram of the structure of an electronic device according to an embodiment of this disclosure. Detailed Implementation
[0030] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0031] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0032] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0033] Figure 1 This is a flowchart illustrating a vehicle extrication method according to an embodiment of this disclosure. This method is applicable to situations where a vehicle, while in a blocked state, overcomes environmental constraints and continues driving. The method can be executed by a vehicle extrication device, which can be implemented in software and / or hardware and can be configured in an electronic device. For example... Figure 1 As shown, the method may specifically include the following steps:
[0034] S110. When the vehicle is in a blocked state, determine the virtual destination based on the vehicle's starting point, target lane, obstacles, and preset search distance.
[0035] In this context, "blocked state" refers to a vehicle's inability to move due to an obstacle, which can be determined by the vehicle's system. "Starting point" is the vehicle's initial position. "Target lane" is the lane the vehicle wants to travel in an unblocked state. "Obstacle" refers to any object that hinders the vehicle's movement, such as another vehicle. "Preset search distance" is a pre-set distance used to determine the virtual endpoint, such as 30 meters. The virtual endpoint is the position projected onto the target lane from the starting point's projection point on the center reference line of the current lane, at a longitudinal distance equal to the preset search distance. The lane containing the virtual endpoint is the target lane.
[0036] Specifically, the target lane can be a pre-determined lane in normal driving mode (e.g., ferry mode), but the vehicle is blocked and cannot directly reach the target lane. Therefore, the vehicle needs to perform a blocking-state escape procedure. When the vehicle is blocked, the virtual endpoint is projected onto the target lane from the projection point of the vehicle's starting point on the center reference line of the current lane, with a preset search distance as the longitudinal distance. If it does not collide with any obstacle, the virtual endpoint can be used for subsequent escape point searches. If it collides with any obstacle, the virtual endpoint is moved forward until it does not collide with any obstacle, resulting in a new virtual endpoint.
[0037] Based on the above example, the virtual destination can be determined using the following method, taking into account the vehicle's starting point, target lane, obstacles, and preset search distance:
[0038] Based on the starting point projected onto the center reference line of the current lane and the preset search distance, determine the initial endpoint on the target lane, and construct a virtual vehicle based on the initial endpoint;
[0039] If no obstacle collides with the virtual vehicle, the initial endpoint is taken as the virtual endpoint.
[0040] If at least one obstacle collides with the virtual vehicle, the preset search distance is updated according to the preset expansion distance, and the process returns to the step of determining the initial endpoint on the target lane based on the vehicle's starting point and the preset search distance.
[0041] Here, "Current Lane" refers to the lane the vehicle is currently in. "Center Reference Line" is the lane centerline. "Starting Projection Point" is the projection of the starting point onto the center reference line of the current lane. "Initial End Point" is the point on the center reference line of the target lane that is a preset search distance from the starting projection point longitudinally. Longitudinal distance refers to the distance along the lane lines. The virtual vehicle represents the vehicle by restoring the initial end point to a shape with a certain spatial size. "Preset Extension Distance" is a pre-set value used to extend the preset search distance, such as 0.5 meters or 1 meter.
[0042] Specifically, the starting point is projected onto the center reference line of the current lane to obtain the starting projection point. Using this starting projection point as the starting point, the vehicle is projected longitudinally towards the center reference line of the target lane according to a preset search distance to obtain the initial endpoint. To improve safety, the vehicle size is restored from the initial endpoint to obtain a virtual vehicle. If no obstacle collides with the virtual vehicle, the initial endpoint is considered safe, and therefore, it is used as the virtual endpoint. If at least one obstacle collides with the virtual vehicle, the initial endpoint is considered unsafe. Therefore, the preset search distance needs to be extended by a preset extension distance, and the initial endpoint is redefined. A virtual vehicle corresponding to the initial endpoint is constructed until the virtual vehicle does not collide with any obstacle. Then, the process returns to the step of determining the initial endpoint on the target lane based on the vehicle's starting point and the preset search distance.
[0043] Based on the above example, a virtual vehicle can be constructed according to the initial destination in the following way:
[0044] Based on the vehicle's dimensions and a preset expansion ratio, the initial endpoint is expanded to construct a virtual vehicle.
[0045] In this embodiment, the dimensions of the vehicle typically refer to its length and width. The preset expansion ratio is a pre-defined expansion ratio, which may include the length expansion ratio and the width expansion ratio. For example, the length expansion ratio is 1 / 2, and the width expansion ratio is 1 / 4, etc. The specific values can be set according to actual needs and are not specifically limited.
[0046] Specifically, the initial endpoint is restored according to the vehicle's dimensions to obtain the initial model. Further, the initial model is expanded in the length direction according to the preset expansion ratio of the length and the vehicle's length, and expanded in the width direction according to the preset expansion ratio of the width and the vehicle's width. The expanded initial model is then used as the virtual vehicle.
[0047] Based on the above example, the preset search distance can be updated according to the preset expansion distance in the following way:
[0048] The sum of the preset expansion distance and the preset search distance is used as the new preset search distance.
[0049] For example, a virtual endpoint Goal is generated on the center reference line of the target lane of the vehicle (self-driving vehicle), and a Boolean value Goal is set for the virtual endpoint Goal. valid To mark the validity of the virtual endpoint. If Goal valid If the value is 1, it is valid; if the Goal is 1, it is valid. valid A value of 0 indicates invalidity. The center reference lines of the target lane and the current lane can be obtained from the reference line module in the upstream autonomous driving system, or the center line of the target lane and the center line of the current lane can be directly used as the center reference lines for both lanes. The projection of the vehicle's starting point onto the center reference line of the current lane is used as the starting projection point, and a preset search distance S is used. goal It is usually set to 30m, etc., without specific limitation, that is, the longitudinal distance between the center reference line of the target lane and the starting projection point is S. goal The point is the virtual endpoint (Goal). Further, it is determined whether the virtual endpoint is valid; if invalid, then S is used. res To further increase the preset search distance S by the preset extended distance goal Goal until the virtual endpoint valid Until it is effective, S res It can be set to 0.5~1m, such as Figure 2 As shown.
[0050] For example, a specific method for determining whether a virtual endpoint is valid could be: expanding the virtual endpoint to the vehicle's geometry, for instance, placing the vehicle's rear axle center on the virtual endpoint. Based on collision detection with various obstacles, to make the virtual endpoint safer, the geometry is expanded during collision detection. This expansion can be done according to a preset expansion ratio to obtain a virtual vehicle, such as... Figure 3As shown, the dashed box represents a virtual vehicle. For example, the left and right expansion width is 1 / 2 of the vehicle width to obtain the safe distances on the left and right sides of the vehicle, and the expansion length is 1 / 4 of the vehicle length to obtain the safe distances in front of and behind the vehicle. If the virtual vehicle collides with any obstacle, the virtual endpoint corresponding to the virtual vehicle is an invalid virtual endpoint; if the virtual vehicle does not collide with any obstacle, the virtual endpoint corresponding to the virtual vehicle is a valid virtual endpoint.
[0051] S120. Generate a sampled map based on the Frenet coordinate system according to the starting point, virtual ending point, current lane width, other lane widths, and lane lines.
[0052] Here, the current lane width is the width of the lane currently in use, and the other lane widths are the widths of all other lanes on the road that travel in the same direction as the current lane. Lane lines are traffic markings used to separate lanes. The sampled map is a map constructed in the Frenet coordinate system for subsequent searches for escape points.
[0053] Specifically, the length of the sampling map is determined based on the distance between the starting point and the virtual endpoint. Other lanes to which the current lane can move are determined based on the lane lines. The width of the sampling map is then determined by summing the width of the current lane with the widths of these other lanes. Further, a sampling map in the Frenet coordinate system is constructed with the starting point as the origin, according to the length and width of the sampling map. It's understandable that the width of the sampling map is not necessarily symmetrical about the origin; the width is used to accommodate the current lane and all other lanes to which the current lane can move.
[0054] Based on the above example, a sampled map can be generated using the Frenet coordinate system according to the starting point, virtual ending point, current lane width, other lane widths, and lane lines as follows:
[0055] The current lane is taken as a valid lane, and it is determined whether the lane line in the first direction of the valid lane is a dashed line.
[0056] If so, add the adjacent lane of the valid lane in the first direction to the valid lane, and return to the step of determining whether the lane line in the first direction of the valid lane is a dashed line, until the lane line in the first direction of the valid lane is a solid line;
[0057] If not, determine whether the lane line in the second direction of the valid lane is a dashed line;
[0058] If so, add the adjacent lane of the valid lane in the second direction to the valid lane, and return to the step of determining whether the lane line in the second direction of the valid lane is a dashed line, until the lane line in the second direction of the valid lane is a solid line;
[0059] The sampling map width is determined based on the lane width of the effective lanes and the preset expansion width;
[0060] The sampling map length is determined based on the longitudinal distance between the starting projection point on the center reference line of the current lane and the virtual endpoint, as well as the preset extension length.
[0061] Using the initial projection point as the origin of the sampling map, a sampling map in the Frenet coordinate system is established based on the sampling map width and sampling map length.
[0062] In this context, the first direction and the second direction refer to the left and right sides of the current lane. If the first direction is left, then the second direction is right, and vice versa. An effective lane is a lane that vehicles are allowed to travel in. An adjacent lane is a lane adjacent to an effective lane. The preset extension length is a pre-set extension length to ensure safety, such as 5 meters or 10 meters. The preset extension width is a pre-set extension width to ensure safety; the preset extension width can be divided into a preset left-side extension width and a preset right-side extension width, such as 0.5 meters or 1 meter.
[0063] Specifically, the current lane is designated as the valid lane. The system checks if the lane line in the first direction of the valid lane is a dashed line. If so, it indicates the vehicle can move into an adjacent lane in the first direction. Therefore, the adjacent lane in the first direction can be added to the valid lane to expand it. The process then returns to checking if the lane line in the first direction is dashed until it becomes a solid line, indicating the vehicle can no longer move in the first direction, at which point the lane expansion in the first direction ends. If not, the lane expansion in the first direction is complete, and expansion in the second direction is needed. Therefore, the system checks if the lane line in the second direction of the valid lane is dashed. If so, it indicates the vehicle can move into an adjacent lane in the second direction. Therefore, the adjacent lane in the second direction can be added to the valid lane to expand it. The process then returns to checking if the lane line in the second direction is dashed until it becomes a solid line, indicating the vehicle can no longer move in the second direction, at which point the lane expansion in the second direction ends. At this point, the expansion of valid lanes in both the first and second directions is complete. The sampling map width is determined by the sum of the effective lane width and the preset expansion width. The sampling map length is determined by the sum of the longitudinal distance between the starting projection point on the center reference line of the current lane and the virtual endpoint, and the preset expansion length. Using the starting projection point as the origin of the sampling map, a sampling map in the Frenet coordinate system is established according to the sampling map width and length, based on the positions of the effective lanes.
[0064] For example, after obtaining the virtual endpoint, in order to ensure that the nodes of subsequent path searches do not exceed the road network, a sampling map needs to be generated based on the Frenet coordinate system. The starting projection point obtained by projecting the vehicle's starting point onto the center reference line of the current lane is used as the origin of the sampling map, set to [0, 0]. The sampling map length S map for:
[0065] S map =S goal +S expand ,
[0066] Among them, S goal S is the longitudinal distance between the starting projection point and the virtual endpoint. expand The preset extension length can usually be set to 5 to 10 meters.
[0067] The sampling map width needs to be determined based on the validity of the lanes to the left and right of the vehicle's current lane, which can be achieved by introducing Boolean values. and This is used to indicate whether the left and right lanes are valid; a value of 1 indicates validity, and a value of 0 indicates invalidity. The sampling map width is l.map That is:
[0068]
[0069] Among them, l curr The current lane width; The width of the i-th lane to the left of the current lane; This represents the width of the j-th lane to the right of the current lane. The default left-side expansion width is usually set to 0.5 to 1m; The default right-side expansion width is usually set to 0.5 to 1m.
[0070] Based on lane validity, the method for determining a valid lane is as follows: First, determine that the vehicle's current lane is a valid lane. If the lane line to the left of a valid lane is a solid line, it means that the lane line to the left cannot be crossed. The value is 0 if the line is not solid and 1 if it is not solid, to expand the left lane into the valid lane; similarly, if the lane line to the right of the valid lane is solid, then... The value is 0 if the lane is empty and 1 otherwise, to expand the right lane into a valid lane until both lane lines on both sides of the valid lane are solid lines, thus obtaining a valid lane. The final sampled map is shown below. Figure 4 As shown in the diagram. The road boundary lines can be used as lane lines and are solid lines. The effective lanes are lane 2 and lane 1.
[0071] S130. Determine the initial path based on the starting point, virtual endpoint, and obstacles in the sampled map using a fast random search tree.
[0072] The Rapidly Exploring Random Tree (RRT) can be used to plan a collision-free path from the starting point to the virtual endpoint, which is the initial path.
[0073] Specifically, by using a fast random search tree, path planning is performed based on the starting point, virtual endpoint, and obstacles in the sampled map to obtain an initial path. This initial path includes the starting point and multiple initial escape points. During the path planning process using the fast random search tree, distance calculations can be performed by converting from the Frenet coordinate system to the Cartesian coordinate system.
[0074] Based on the above example, the initial path can be determined using a fast random search tree based on the starting point, virtual ending point, and obstacles in the sampled map, as follows:
[0075] In the sampled map, the starting point is used as the first search point, and the first search point is added to the search tree;
[0076] Generate a random number. If the random number is less than or equal to a preset value, generate a random point in the sampled map. If the random number is greater than the preset value, use the virtual endpoint as the random point.
[0077] If the distance between the random point and the first search point is greater than the preset step size, then the first search point will be used as the starting point, and the point at the preset step size in the direction from the first search point to the random point will be used as the new node. If the distance between the random point and the first search point is not greater than the preset step size, then the random point will be used as the new node.
[0078] In the Cartesian coordinate system, the parent node corresponding to the new node is determined based on the distance between each tree node in the search tree and the new node, and the collision situation is determined based on each obstacle, the virtual vehicle corresponding to the new node, and the line connecting the new node and its corresponding parent node.
[0079] If there is no collision, the new node is taken as the first search point, and the process of adding the first search point to the search tree is repeated until the virtual endpoint is added to the search tree.
[0080] If the collision condition is that there is a collision, return to the step of generating random numbers until the virtual endpoint is added to the search tree;
[0081] The initial path is determined by backtracking through the search tree based on the virtual endpoint.
[0082] Here, the first search point is the starting point of the current search. The search tree is a tree structure obtained by progressively increasing the first search point in each search. The preset value is a pre-set value used to distinguish the random point generation method. The preset step size is a pre-set maximum distance between the result of each search and the first search point. The new node is the node obtained after processing the random points according to the preset step size. The collision condition describes whether the connection between the new node and its corresponding parent node will collide with obstacles.
[0083] Specifically, the starting point in the sampled map is first used as the first search point to perform the initial search, and this first search point is added to the search tree. A random number is generated. If the random number is less than or equal to a preset value, a point is randomly generated in the sampled map; otherwise, the virtual endpoint in the sampled map is used as the random point. Further, it is determined whether the distance between the random point and the first search point is too long, exceeding the preset step size. If it does, the current search step size is too large and not precise enough. Therefore, starting from the first search point, a point at a preset step size in the direction from the first search point to the random point is used as the new node. If it does not exceed the preset step size, the random point is used as the new node. When determining the parent node of a new node, distance needs to be calculated, which can be done in Cartesian coordinates. The distance between the new node and each node in the search tree is calculated, and the tree node corresponding to the minimum distance is used as the parent node of the new node. The new node can then be a child node of the tree node corresponding to the minimum distance. Then, the virtual vehicles corresponding to the parent and child nodes can be connected to determine the collision situation between the virtual vehicles and the connecting lines and the obstacles. If there is no collision, it means that the new node can be added to the search tree as the next first search node, that is, connected to the parent node of the new node, and the next search can be performed. Therefore, the step of adding the first search point to the search tree can be returned until the virtual endpoint is added to the search tree. If there is a collision, it means that the current new node cannot be added to the search tree as the next first search point. Therefore, it is necessary to re-determine the new node, so the step of generating random numbers can be returned until the virtual endpoint is added to the search tree. When the virtual endpoint is added to the search tree, the search can be determined to be complete. Backtracking from the virtual endpoint, that is, determining the parent nodes in sequence until the starting point, an initial path from the starting point to the virtual endpoint can be obtained. Each node in the initial path except the starting point can be determined as the initial escape point.
[0084] For example, the initial path can also be determined in the following ways:
[0085] Based on the Frenet sampled map, the coordinates of the vehicle's current position (starting point) in the sampled map can be obtained through coordinate transformation. This point is the starting point of the search, denoted as [l]. start S start Based on the same coordinate transformation, the coordinates of the virtual endpoint Goal in the sampled map can be represented as [l] goal S goal After determining the starting point and virtual endpoint, initialize the search tree and add the starting point to the search tree. Generate random points in the sampled map. rand The coordinates of a random point are represented as [l rand S randBased on the sampling map range above, the horizontal distance sampling range of the random points is:
[0086]
[0087] The sampling range for longitudinal distance is:
[0088] S rand ∈[0, S goal +S expand ],
[0089] To accelerate the convergence speed of the algorithm, a certain probability G is used. bias (Preset value) Select a virtual endpoint. Before generating each random point, randomly generate a number G (random number) belonging to the interval [0, 1]. The update strategy for random points is as follows:
[0090]
[0091] Get a random point rand Next, traverse all tree nodes in the search tree and calculate the distance between each tree node and the random point. The distance calculation uses Euclidean distance, so the coordinate systems of the tree nodes and the random point need to be converted from the Frenet coordinate system to the Cartesian coordinate system before calculating the distance between the two points.
[0092]
[0093] Among them, (x tree y tree (x) represents the coordinates of a tree node in the search tree in the Cartesian coordinate system; rana y rand ) represents the coordinates of a random point in the Cartesian coordinate system.
[0094] Take the node corresponding to the shortest distance as the point. near At point near with point rand Extend the connection by a step (preset step) in the direction of the connection to generate a new node (new node) point. new The calculation formula is as follows:
[0095]
[0096] Here, || represents the vector 2 norm.
[0097] It should be noted that the steps for determining the new node described above are in a different order than those described in S130. Of course, the new node can also be determined according to the method described in S130, and there is no limitation here.
[0098] To ensure vehicle passage, the vehicle's geometry (virtual vehicle) is expanded at the new node for collision detection. Simultaneously, the point needs to be... near with point rand Perform collision detection again on the connections between them. If a collision is found, regenerate a random point; if the collision-free requirement is met, then the point is... new Add to the search tree and set the point near Set as point new The parent node. The entire expansion process is repeated cyclically until the endpoint is expanded to the virtual endpoint. After finding the virtual endpoint, backtracking the search tree yields a path, which is the initial path. The search tree and the initial path are as follows: Figure 5 As shown.
[0099] S140. Based on the starting point in the initial path, each initial escape point in the initial path, and each obstacle, determine multiple target escape points.
[0100] The initial escape points are all nodes in the initial path except for the starting point. The target escape points are a subset of the initial escape points obtained by filtering them.
[0101] Specifically, the starting point and all other initial escape points (excluding the one adjacent to the starting point) can be connected. If a connecting line does not collide with any obstacle, the initial escape point furthest from the starting point among these connecting lines is taken as the target escape point. This indicates that the initial escape points between the starting point and the target escape point are unnecessary redundant escape points. If no connecting line does not collide with any obstacle, it means there are no redundant escape points, and the initial escape point adjacent to the starting point is taken as the target escape point. Then, starting from the target escape point, the next target escape point is determined in the same way, until the virtual endpoint is determined as the target escape point, resulting in multiple target escape points.
[0102] Based on the above example, multiple target escape points can be determined using the following method, based on the starting point in the initial path, each initial escape point in the initial path, and each obstacle:
[0103] The starting point in the initial path is determined as the first escape point;
[0104] Based on the initial path and the preset trimming distance, determine the second escape point corresponding to the first escape point among each initial escape point, and determine whether the line connecting the second escape point and the first escape point collides with at least one obstacle;
[0105] If not, remove all initial escape points located between the first escape point and the second escape point in the initial path, update the initial path, and take the second escape point as the new first escape point. Then return to execute the step of determining the second escape point corresponding to the first escape point among the initial escape points based on the initial path and the preset trimming distance.
[0106] If so, if the second escape point and the first escape point are not adjacent in the initial path, the initial escape point located between the second escape point and the first escape point and adjacent to the second escape point in the initial path is taken as the new second escape point, and the process returns to the step of determining whether the line connecting the second escape point and the first escape point collides with at least one obstacle; if the second escape point and the first escape point are adjacent in the initial path, the second escape point is taken as the new first escape point, and the process returns to the step of determining the second escape point corresponding to the first escape point among each initial escape point based on the initial path and the preset trimming distance.
[0107] If the second escape point is the initial escape point located at the end position in the initial path, and the line connecting the second escape point and the initial escape point adjacent to the second escape point in the initial path does not collide with any obstacles, the updated initial path is determined as the target path, and each second escape point in the target path is determined as the target escape point.
[0108] Here, the first escape point is the starting point for an initial escape point trimming, and the second escape point is the ending point for the same trimming. The preset trimming distance is the pre-defined maximum distance between two adjacent target escape points. The target path is the path formed by the starting point and all target escape points.
[0109] Specifically, the starting point in the initial path is determined as the first escape point. Then, within the initial path, a search is performed according to a preset trimming distance to determine the initial escape point whose distance from the first escape point is within the preset trimming distance and is closest to the preset trimming distance. This initial escape point is then designated as the second escape point corresponding to the first escape point. Next, it is determined whether the line connecting the second escape point and the first escape point collides with at least one obstacle. If not, it means that the first escape point can directly reach the second escape point. The initial escape points between the first and second escape points are redundant. Therefore, the initial escape points located between the first and second escape points in the initial path can be removed. The initial path is updated based on the removed starting point and the remaining initial escape points, and the second escape point is designated as the new first escape point. The process then returns to the step of determining the second escape point corresponding to the first escape point based on the initial path and the preset trimming distance, to perform the next initial escape point trimming. If so, it means that it is impossible to travel directly from the first escape point to the second escape point. Therefore, if the second escape point and the first escape point are not adjacent in the initial path, the initial escape point located between the second and first escape points and adjacent to the second escape point is taken as the new second escape point. That is, the previous initial escape point in the initial path is taken as the new second escape point, and the process returns to the step of determining whether the line connecting the second and first escape points collides with at least one obstacle to shorten the distance and determine whether redundant initial escape points can be eliminated. If the second escape point and the first escape point are adjacent in the initial path, it can be determined that there are no other initial escape points between the first and second escape points. Therefore, the second escape point is taken as the new first escape point, and the process returns to the step of determining the second escape point corresponding to the first escape point among the initial escape points based on the initial path and the preset trimming distance, to perform the next initial escape point trimming. If the second escape point is the initial escape point located at the end position in the initial path, and the line connecting the second escape point and the initial escape point adjacent to the second escape point in the initial path does not collide with any obstacles, it can be determined that the initial escape point located at the end position in the initial path has been found, which is the virtual endpoint. Therefore, the updated initial path is determined as the target path, and each second escape point in the target path is determined as the target escape point.
[0110] For example, due to the randomness of the fast random search tree method, the initial path needs to be pruned to optimize the subsequently generated initial escape points. Figure 6 For example, the initial escape points include point1 to point2. 10 point1→point4, point4→point7, point7→point 10If all points in between are safe, then points 2, 3, 4, 6, 8, and 9 can be ignored. However, to evenly distribute the escape points among the targets, a threshold value (dist) can be set. max (Preset trimming distance), when two points m with point n+1 If the distance just exceeds the threshold, then connect the point. m and point n What is understandable is the point. m with point n The distance does not exceed the threshold. For example: Figure 6 The distance between point1 and point5 in the data is greater than the threshold dist. max Therefore, connect point1 and point4. Similarly, you can directly connect point4 and point7, and point7 and point... 10 ,Will Figure 5 and Figure 6 The comparison shows that the smoothness and length of the pruned target path are significantly improved.
[0111] Based on the above example, after determining the target path and each target escape point, the target escape points can be further optimized. Therefore, after determining the updated initial path as the target path and each second escape point in the target path as the target escape point, the following operations can be performed:
[0112] The target escape points adjacent to the starting point in the target path are identified as escape points to be optimized.
[0113] Project the point to be optimized onto the center reference line of the target lane to obtain the first projection point;
[0114] Determine whether the line connecting the first projection point to the previous target escape point or the starting point of the escape point to be optimized, and the line connecting the first projection point to the next target escape point of the escape point to be optimized, collide with at least one obstacle;
[0115] If not, based on the first projection point, update the target path, determine the next target escape point of the first projection point in the target path as the new escape point to be optimized, and return to execute the step of projecting the escape point to be optimized onto the center reference line of the target lane to obtain the first projection point, until the escape point to be optimized is the target escape point located at the end position in the target path;
[0116] If so, the point to be optimized for escaping difficulties is projected onto the center reference line of the lane to which the point to be optimized for escaping difficulties belongs, and a second projection point is obtained. It is then determined whether the line connecting the second projection point to the previous target escaping point or the starting point of the point to be optimized for escaping difficulties, as well as the line connecting the second projection point to the next target escaping point of the point to be optimized for escaping difficulties, collides with at least one obstacle.
[0117] If not, based on the second projection point, update the target path, determine the next target escape point of the second projection point in the target path as the new escape point to be optimized, and return to execute the step of projecting the escape point to be optimized onto the center reference line of the target lane to obtain the first projection point, until the escape point to be optimized is the target escape point located at the end position in the target path;
[0118] If so, the next target escape point in the target path to be optimized is determined as the new escape point to be optimized, and the process returns to the step of projecting the escape point to be optimized onto the center reference line of the target lane to obtain the first projection point, until the escape point to be optimized is the target escape point located at the end position in the target path.
[0119] Here, the point to be optimized for escaping difficulty is the target escaping point currently being optimized, which can be any target escaping point on the target path other than the starting point. The first projection point is the projection point obtained by projecting the point to be optimized for escaping difficulty onto the center reference line of the target lane. Since the vehicle prefers to reach the target lane, the first projection point can be understood as the optimal result of the optimization process. The second projection point is the projection point obtained by projecting the point to be optimized for escaping difficulty onto the center reference line of the lane to which the point to be optimized belongs, and can be understood as the second-best result of the optimization process.
[0120] Specifically, the target escape points adjacent to the starting point in the target path are first identified as escape points to be optimized, thus performing the first optimization process. These escape points are then projected onto the center reference line of the target lane to obtain the first projection point, which is the first choice for escape point optimization. Next, it is determined whether the line connecting the first projection point and the starting point, as well as the line connecting the first projection point and the next target escape point to the escape point to be optimized, collides with at least one obstacle. This allows for a determination of whether the first projection point can be used to replace the escape point to be optimized. If not, it indicates that the first projection point can be used to optimize the escape point to be optimized. Therefore, the first projection point can be used to replace the escape point to be optimized, the target path is updated, and the next target escape point of the first projection point in the target path is determined as the new escape point to be optimized. The process then returns to projecting the escape point to be optimized onto the center reference line of the target lane to obtain the first projection point. The steps of determining whether the line connecting the first projection point and the previous target escape point of the escape point to be optimized, and the line connecting the first projection point and the next target escape point of the escape point to be optimized, collide with at least one obstacle are continued until the escape point to be optimized is the target escape point at the end of the target path, and optimization cannot continue. If yes, it indicates that using the first projection point will cause a collision and cannot replace the escape point to be optimized. Therefore, the escape point to be optimized is projected onto the center reference line of the lane to which the escape point to be optimized belongs to obtain the second projection point, which is the second choice when optimizing the escape point. The determination of the second projection point is similar to that of the first projection point. If the escape point to be optimized is an adjacent target escape point to the starting point, then it is determined whether the line connecting the second projection point to the starting point and the line connecting the second projection point to the next target escape point of the escape point to be optimized collides with at least one obstacle. If the escape point to be optimized is another target escape point besides the one adjacent to the starting point, then it is determined whether the line connecting the second projection point to the previous target escape point of the escape point to be optimized and the line connecting the second projection point to the next target escape point of the escape point to be optimized collides with at least one obstacle. If not, it indicates that the second projection point can be used to optimize the escape point to be optimized. Therefore, the second projection point can be used to replace the escape point to be optimized, the target path can be updated, and the next target escape point of the second projection point in the target path can be determined as the new escape point to be optimized, and the new escape point to be optimized can be optimized. If so, the next target escape point in the target path to be optimized is determined as the new escape point to be optimized, and the new escape point to be optimized is optimized until the escape point to be optimized is the target escape point located at the end position in the target path.
[0121] Understandably, if neither the first nor the second projection point can replace the point to be optimized for escaping trouble, then the point to be optimized for escaping trouble will be retained. Ultimately, the optimized target path and the optimized escaping points along the target path can be obtained for subsequent escaping trouble processing.
[0122] For example, after obtaining the target path, the first point is the vehicle's starting point, and the remaining points are considered as a set of escape points, including each target escape point. To make the target escape points safer, they can be projected onto the center reference line of the road. Figure 7 Taking the diagram illustrating the optimization of the target escape point as an example, the target escape point, waypoint2, is projected onto the center reference line of the target road and the center reference line of the road to which the escape point belongs, respectively, to obtain the first projection point waypoint′2 and the second projection point waypoint″2. A collision is detected between the starting point waypoint1 and the first projection point waypoint′2, and between the first projection point waypoint′2 and the next target escape point waypoint3. If there is no collision, the first projection point waypoint′2 replaces the escape point waypoint2 as the new target escape point, and the target path is updated. Figure 7 As shown, the line connecting the starting point waypoint1 and the first projection point waypoint′2 collides with obstacle 1, and the line connecting the first projection point waypoint′2 and the next target escape point waypoint3 (the projection point to be optimized) collides with obstacle 5. Therefore, the first projection point waypoint′2 cannot replace the target escape point waypoint2. If there is a collision, the same operation is performed on waypoint″2, that is, to check whether there is a collision between the lines connecting the starting point waypoint1 and the second projection point waypoint″2, and between the second projection point waypoint″2 and the next target escape point waypoint3 (the projection point to be optimized), in order to check whether it can replace the target escape point waypoint2 as the new target escape point. Figure 7 As seen in the diagram, the second projection point, waypoint″2, can be used as a replacement for the escape point, waypoint2, which is to be optimized. The projected escape point is safer and more reasonable. Therefore, the same operation can be performed on all subsequent target escape points for optimization.
[0123] It should be noted that if the target lane and the lane to which the escaping point to be optimized belong are the same lane, then the first projection point and the second projection point are the same point. In order to save the judgment process, the optimization processing of the escaping point to be optimized does not need to perform the content related to the second projection point.
[0124] S150. Based on multiple target escape points, perform escape processing on the vehicle.
[0125] Specifically, after obtaining multiple target escape points, their coordinates can be transformed into a Cartesian coordinate system. Then, starting from the starting point, the vehicle proceeds sequentially to each target escape point along the target path. Upon reaching each target escape point, an attempt is made to escape the obstruction and resume normal driving. If successful, the vehicle stops and proceeds to the next target escape point, continuing in normal driving mode. If unsuccessful, the vehicle proceeds to the next target escape point and attempts again, until escape is achieved, or until the final target escape point (virtual endpoint) is reached but escape is still not possible. If escape is still not achieved even at the final target escape point, the current virtual endpoint can be used as the starting point for the next vehicle escape process.
[0126] It should be noted that when performing the escape procedure, the optimized target escape point is prioritized for better escape. Of course, if no optimization steps are available, the target escape point can enter S150 without optimization and still achieve escape.
[0127] For example, after obtaining the set of escape points, i.e., the set of all target escape points, the classic free-space planning method Hybrid A* can be used to plan the vehicle's trajectory to each target escape point. Upon reaching each target escape point, it is checked whether the vehicle can return to normal mode at this moment. If it can, the escape is successful; if not, Hybrid A* can be called again to plan the vehicle's trajectory to the next target escape point until the vehicle can return to normal mode or there is no next target escape point.
[0128] The vehicle extrication method provided in this embodiment determines a virtual endpoint based on the vehicle's starting point, target lane, obstacles, and a preset search distance when the vehicle is in a blocked state. This facilitates the search and planning of extrication points. A sampling map is generated based on the starting point, virtual endpoint, current lane width, other lane widths, and lane lines using the Frenet coordinate system to avoid exceeding the road network during subsequent search for extrication points and path planning. An initial path is determined based on the starting point, virtual endpoint, and obstacles in the sampling map using a fast random search tree to initially determine extrication points, improving the flexibility of extrication point determination. Furthermore, multiple target extrication points are determined based on the starting point, initial extrication points, and obstacles in the initial path to prune the initial extrication points and improve their effectiveness. Finally, extrication processing is performed on the vehicle based on these multiple target extrication points. This method achieves the effect of flexibly determining multiple extrication points when the vehicle is in a blocked state, improving the rationality of extrication points and increasing the success rate of vehicle extrication.
[0129] Figure 8This is a schematic diagram of the structure of a vehicle traction device according to an embodiment of this disclosure. Figure 8 As shown: The device includes: a virtual endpoint determination module 810, a sampling map generation module 820, an initial path determination module 830, a target escape point determination module 840, and an escape execution module 850.
[0130] The system includes the following modules: a virtual endpoint determination module 810, used to determine a virtual endpoint based on the vehicle's starting point, target lane, obstacles, and a preset search distance when the vehicle is in a blocked state; a sampled map generation module 820, used to generate a sampled map based on the starting point, the virtual endpoint, the current lane width, other lane widths, and lane lines, using the Frenet coordinate system; an initial path determination module 830, used to determine an initial path based on the starting point, the virtual endpoint, and obstacles in the sampled map, using a fast random search tree; a target escape point determination module 840, used to determine multiple target escape points based on the starting point in the initial path, each initial escape point in the initial path, and each obstacle; and an escape execution module 850, used to perform escape processing on the vehicle based on the multiple target escape points.
[0131] Based on the above example, optionally, the virtual endpoint determination module 810 is further configured to determine an initial endpoint on the target lane based on the starting projection point of the starting point on the center reference line of the current lane and a preset search distance, and construct a virtual vehicle based on the initial endpoint; if no obstacle collides with the virtual vehicle, the initial endpoint is used as the virtual endpoint; if at least one obstacle collides with the virtual vehicle, the preset search distance is updated based on a preset extension distance, and the process returns to the step of determining the initial endpoint on the target lane based on the starting point of the vehicle and the preset search distance.
[0132] Based on the above example, optionally, the virtual endpoint determination module 810 is further configured to expand the initial endpoint according to the size of the vehicle and the preset expansion ratio to construct a virtual vehicle; the virtual endpoint determination module 810 is further configured to use the sum of the preset expansion distance and the preset search distance as the new preset search distance.
[0133] Based on the above example, optionally, the sampling map generation module 820 is further configured to: take the current lane as a valid lane; determine whether the lane line in the first direction of the valid lane is a dashed line; if so, add the adjacent lanes of the valid lane in the first direction to the valid lane, and return to execute the step of determining whether the lane line in the first direction of the valid lane is a dashed line, until the lane line in the first direction of the valid lane is a solid line; if not, determine whether the lane line in the second direction of the valid lane is a dashed line; if so, add the adjacent lanes of the valid lane in the second direction to the valid lane, and return to execute the step of determining whether the lane line in the second direction of the valid lane is a dashed line, until the lane line in the second direction of the valid lane is a solid line; determine the sampling map width based on the lane width of the valid lane and the preset expansion width; determine the sampling map length based on the longitudinal distance between the starting projection point of the starting point on the center reference line of the current lane and the virtual endpoint and the preset expansion length; and establish a sampling map in the Frenet coordinate system based on the starting projection point as the origin of the sampling map, according to the sampling map width and the sampling map length.
[0134] Based on the above example, optionally, the initial path determination module 830 is further configured to: use the starting point as a first search point in the sampled map and add the first search point to the search tree; generate a random number; if the random number is less than or equal to a preset value, generate a random point in the sampled map; if the random number is greater than the preset value, use the virtual endpoint as a random point; if the distance between the random point and the first search point is greater than a preset step size, use the first search point as the starting point and the point at the preset step size in the direction from the first search point to the random point as the new node; if the distance between the random point and the first search point is not greater than the preset step size, then... As a new node; in the Cartesian coordinate system, determine the parent node corresponding to the new node based on the distance between each node in the search tree and the new node, and determine the collision situation based on each obstacle, the virtual vehicle corresponding to the new node, and the line connecting the new node and its corresponding parent node; if the collision situation is no collision, then the new node is taken as the first search point, and the step of adding the first search point to the search tree is returned until the virtual endpoint is added to the search tree; if the collision situation is a collision, then the step of generating random numbers is returned until the virtual endpoint is added to the search tree; backtracking in the search tree based on the virtual endpoint, the initial path is determined.
[0135] Based on the above example, optionally, the target escape point determination module 840 is further configured to determine the starting point in the initial path as the first escape point; determine a second escape point corresponding to the first escape point among the initial escape points according to the initial path and a preset trimming distance; determine whether the line connecting the second escape point and the first escape point collides with at least one obstacle; if not, remove each initial escape point in the initial path located between the first escape point and the second escape point, update the initial path, and use the second escape point as the new first escape point, and return to execute the step of determining the second escape point corresponding to the first escape point among the initial escape points according to the initial path and the preset trimming distance; if yes, if the second escape point and the first escape point are not adjacent in the initial path, then select the second escape point in the initial path... An initial escape point that is adjacent to the first escape point and the second escape point is designated as a new second escape point, and the process returns to the step of determining whether the line connecting the second escape point and the first escape point collides with at least one obstacle; if the second escape point and the first escape point are adjacent in the initial path, the second escape point is designated as a new first escape point, and the process returns to the step of determining the second escape point corresponding to the first escape point among the initial escape points based on the initial path and a preset trimming distance; if the second escape point is an initial escape point located at the end position in the initial path and the line connecting the second escape point and the initial escape point adjacent to the second escape point in the initial path does not collide with any obstacle, the updated initial path is determined as the target path, and each second escape point in the target path is determined as a target escape point.
[0136] Based on the above example, optionally, after determining the updated initial path as the target path and each second escape point in the target path as a target escape point, the device further includes: an escape point optimization module, used to determine the target escape points adjacent to the starting point in the target path as escape points to be optimized; project the escape points to be optimized onto the center reference line of the target lane to obtain a first projection point; determine whether the line connecting the first projection point and the previous target escape point or the starting point of the escape point to be optimized, and the line connecting the first projection point and the next target escape point of the escape point to be optimized, collide with at least one obstacle; if not, based on the first projection point, update the target path, determine the next target escape point of the first projection point in the target path as a new escape point to be optimized, and return to execute the step of projecting the escape points to be optimized onto the center reference line of the target lane to obtain a first projection point, until the escape point to be optimized is a target escape point located at the end position in the target path; if so, then... The point to be optimized for escaping difficulty is projected onto the center reference line of the lane to which it belongs, resulting in a second projection point. It is then determined whether the line connecting the second projection point to the previous target escaping point or the starting point of the point to be optimized for escaping difficulty, and the line connecting the second projection point to the next target escaping point of the point to be optimized for escaping difficulty, collides with at least one obstacle. If not, based on the second projection point, the target path is updated, and the next target escaping point of the second projection point in the target path is identified as a new point to be optimized for escaping difficulty. The process then returns to the step of projecting the point to be optimized for escaping difficulty onto the center reference line of the target lane to obtain a first projection point, until the point to be optimized for escaping difficulty is the target escaping point at the end of the target path. If so, the next target escaping point of the point to be optimized in the target path is identified as a new point to be optimized for escaping difficulty, and the process then returns to the step of projecting the point to be optimized for escaping difficulty onto the center reference line of the target lane to obtain a first projection point, until the point to be optimized for escaping difficulty is the target escaping point at the end of the target path.
[0137] The vehicle traction device provided in this embodiment can execute the steps in the vehicle traction method provided in this embodiment, and has the execution steps and beneficial effects, which will not be repeated here.
[0138] Figure 9 This is a schematic diagram of the structure of an electronic device according to an embodiment of this disclosure. See below for details. Figure 9 It shows a schematic diagram of a structure suitable for implementing the electronic device 900 in the embodiments of this disclosure. Figure 9 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0139] like Figure 9 As shown, electronic device 900 may include a processing device (e.g., a central processing unit, a graphics processor, etc.) 901, which can perform various appropriate actions and processes to implement the methods of embodiments as described in this disclosure, based on a program stored in read-only memory (ROM) 902 or a program loaded from storage device 908 into random access memory (RAM) 903. The RAM 903 also stores various programs and data required for the operation of electronic device 900. The processing device 901, ROM 902, and RAM 903 are interconnected via bus 904. An input / output (I / O) interface 905 is also connected to bus 904.
[0140] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts, thereby implementing the vehicle extrication method as described above. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 909, or installed from a storage device 908, or installed from a ROM 902. When the computer program is executed by a processing device 901, it performs the functions defined in the methods of embodiments of this disclosure.
[0141] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0142] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device. The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to:
[0143] When the vehicle is in a blocked state, the virtual destination is determined based on the vehicle's starting point, target lane, obstacles, and preset search distance;
[0144] A sampled map is generated based on the starting point, the virtual ending point, the current lane width, the widths of other lanes, and the lane lines, using the Frenet coordinate system.
[0145] Based on the starting point, the virtual endpoint, and all obstacles in the sampled map, an initial path is determined using a fast random search tree.
[0146] Based on the starting point in the initial path, each initial escape point in the initial path, and each obstacle, multiple target escape points are determined;
[0147] The vehicle is then assisted in overcoming its entrapment based on multiple target escape points.
[0148] Optionally, when one or more of the above-described procedures are executed by the electronic device, the electronic device may also execute other steps described in the above embodiments.
[0149] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0150] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
Claims
1. A method for getting a vehicle out of trouble, characterized in that, The method includes: When the vehicle is in a blocked state, the virtual destination is determined based on the vehicle's starting point, target lane, obstacles, and preset search distance; The sampling map length is determined based on the length between the starting point and the virtual endpoint, and the sampling map width is determined based on the sum of the current lane width and the widths of the other lanes corresponding to the current lane. The sampling map in the Frenet coordinate system is constructed with the starting point as the origin, according to the sampling map length and the sampling map width. Based on the starting point, the virtual endpoint, and all obstacles in the sampled map, an initial path is determined using a fast random search tree. The starting point in the initial path is determined as the first escape point; Based on the initial path and the preset trimming distance, determine the second escape point corresponding to the first escape point among each initial escape point, and determine whether the line connecting the second escape point and the first escape point collides with at least one obstacle; If not, remove each initial escape point located between the first escape point and the second escape point in the initial path, update the initial path, take the second escape point as the new first escape point, and return to the step of determining the second escape point corresponding to the first escape point among each initial escape point based on the initial path and the preset trimming distance; If so, if the second escape point and the first escape point are not adjacent in the initial path, the initial escape point located between the second escape point and the first escape point and adjacent to the second escape point in the initial path is taken as the new second escape point, and the process returns to the step of determining whether the line connecting the second escape point and the first escape point collides with at least one obstacle; if the second escape point and the first escape point are adjacent in the initial path, the second escape point is taken as the new first escape point, and the process returns to the step of determining the second escape point corresponding to the first escape point among the initial escape points based on the initial path and the preset trimming distance. If the second escape point is the initial escape point located at the end position in the initial path, and the line connecting the second escape point and the initial escape point adjacent to the second escape point in the initial path does not collide with any obstacles, the updated initial path is determined as the target path, and each second escape point in the target path is determined as the target escape point. The target escape points adjacent to the starting point in the target path are identified as escape points to be optimized. The point to be optimized for getting out of trouble is projected onto the center reference line of the target lane to obtain the first projection point; Determine whether the line connecting the first projection point to the previous target escape point of the escape point to be optimized or the starting point, and the line connecting the first projection point to the next target escape point of the escape point to be optimized, collide with at least one obstacle; If not, then based on the first projection point, update the target path, determine the next target escape point of the first projection point in the target path as the new escape point to be optimized, and return to execute the step of projecting the escape point to be optimized onto the center reference line of the target lane to obtain the first projection point, until the escape point to be optimized is the target escape point located at the end position in the target path; If so, the point to be optimized for escaping difficulties is projected onto the center reference line of the lane to which the point to be optimized for escaping difficulties belongs, to obtain a second projection point. It is then determined whether the line connecting the second projection point to the previous target escaping point or the starting point of the point to be optimized for escaping difficulties, and the line connecting the second projection point to the next target escaping point of the point to be optimized for escaping difficulties, collides with at least one obstacle. If not, then based on the second projection point, update the target path, determine the next target escape point of the second projection point in the target path as the new escape point to be optimized, and return to execute the step of projecting the escape point to be optimized onto the center reference line of the target lane to obtain the first projection point, until the escape point to be optimized is the target escape point located at the end position in the target path; If so, then the next target escape point of the escape point to be optimized in the target path is determined as the new escape point to be optimized, and the process returns to the step of projecting the escape point to be optimized onto the center reference line of the target lane to obtain the first projection point, until the escape point to be optimized is the target escape point located at the end position in the target path; The vehicle is then assisted in overcoming its entrapment based on multiple target escape points.
2. The method according to claim 1, characterized in that, The step of determining the virtual endpoint based on the vehicle's starting point, target lane, obstacles, and preset search distance includes: Based on the starting point projected onto the center reference line of the current lane and the preset search distance, an initial endpoint is determined on the target lane, and a virtual vehicle is constructed based on the initial endpoint. If no obstacle collides with the virtual vehicle, the initial endpoint is taken as the virtual endpoint. If at least one obstacle collides with the virtual vehicle, the preset search distance is updated according to the preset extension distance, and the process returns to the step of determining the initial destination on the target lane based on the vehicle's starting point and the preset search distance.
3. The method according to claim 2, characterized in that, The step of constructing the virtual vehicle based on the initial endpoint includes: The initial endpoint is expanded according to the vehicle's dimensions and a preset expansion ratio to construct a virtual vehicle; The step of updating the preset search distance based on the preset expansion distance includes: The sum of the preset expansion distance and the preset search distance is used as the new preset search distance.
4. The method according to claim 1, characterized in that, The process of determining the sampling map length based on the length between the starting point and the virtual ending point, and determining the sampling map width based on the sum of the current lane width and the widths of the other lanes corresponding to the current lane, and constructing a sampling map in the Frenet coordinate system with the starting point as the origin, according to the sampling map length and the sampling map width, includes: The current lane is taken as a valid lane, and it is determined whether the lane line in the first direction of the valid lane is a dashed line. If so, the adjacent lanes of the effective lane in the first direction are added to the effective lane, and the process returns to the step of determining whether the lane line in the first direction of the effective lane is a dashed line, until the lane line in the first direction of the effective lane is a solid line. If not, determine whether the lane line in the second direction of the effective lane is a dashed line; If so, the adjacent lane of the effective lane in the second direction is added to the effective lane, and the process returns to the step of determining whether the lane line in the second direction of the effective lane is a dashed line, until the lane line in the second direction of the effective lane is a solid line; The sampling map width is determined based on the lane width of the effective lanes and the preset expansion width; The sampling map length is determined based on the longitudinal distance between the starting point of the starting point on the center reference line of the current lane and the virtual endpoint, as well as the preset expansion length. Using the starting projection point as the origin of the sampling map, a sampling map in the Frenet coordinate system is established based on the sampling map width and the sampling map length.
5. The method according to claim 1, characterized in that, The step of determining the initial path based on the starting point, the virtual endpoint, and each obstacle in the sampled map, using a fast random search tree, includes: In the sampled map, the starting point is used as the first search point, and the first search point is added to the search tree; A random number is generated. If the random number is less than or equal to a preset value, a random point is generated in the sampling map. If the random number is greater than the preset value, the virtual endpoint is used as the random point. If the distance between the random point and the first search point is greater than the preset step size, then the point at the preset step size in the direction from the first search point to the random point will be taken as the starting point. If the distance between the random point and the first search point is not greater than the preset step size, then the random point will be taken as the new node. In the Cartesian coordinate system, the parent node corresponding to the new node is determined based on the distance between each tree node in the search tree and the new node, and the collision situation is determined based on each obstacle, the virtual vehicle corresponding to the new node, and the line connecting the new node and the parent node corresponding to the new node. If the collision situation is no collision, then the new node is taken as the first search point, and the process of adding the first search point to the search tree is returned until the virtual endpoint is added to the search tree. If the collision condition is that there is a collision, then return to the step of generating random numbers until the virtual endpoint is added to the search tree; The initial path is determined by backtracking through the search tree based on the virtual endpoint.
6. A vehicle traction device, characterized in that, The device includes: The virtual endpoint determination module is used to determine the virtual endpoint based on the vehicle's starting point, target lane, obstacles, and preset search distance when the vehicle is in a blocked state. The sampling map generation module is used to determine the sampling map length based on the length between the starting point and the virtual endpoint, and to determine the sampling map width based on the sum of the current lane width of the current lane and the widths of the other lanes corresponding to the current lane. The module constructs a sampling map in the Frenet coordinate system with the starting point as the origin, according to the sampling map length and the sampling map width. The initial path determination module is used to determine the initial path based on a fast random search tree according to the starting point, the virtual endpoint, and each obstacle in the sampled map. The target escape point determination module is used to determine the starting point in the initial path as the first escape point; determine a second escape point corresponding to the first escape point among the initial escape points according to the initial path and a preset trimming distance; determine whether the line connecting the second escape point and the first escape point collides with at least one obstacle; if not, remove all initial escape points in the initial path located between the first escape point and the second escape point, update the initial path, and use the second escape point as the new first escape point, and return to execute the step of determining the second escape point corresponding to the first escape point among the initial escape points according to the initial path and the preset trimming distance; if yes, if the second escape point and the first escape point are not adjacent in the initial path, select the second escape point in the initial path located between the second escape point and the first escape point. If an initial escape point adjacent to the second escape point is designated as a new second escape point, the process returns to the step of determining whether the line connecting the second escape point and the first escape point collides with at least one obstacle. If the second escape point and the first escape point are adjacent in the initial path, the second escape point is designated as a new first escape point, and the process returns to the step of determining the second escape point corresponding to the first escape point among the initial escape points based on the initial path and a preset trimming distance. If the second escape point is an initial escape point located at the end of the initial path and the line connecting the second escape point and the initial escape point adjacent to the second escape point in the initial path does not collide with any obstacle, the updated initial path is determined as the target path, and each second escape point in the target path is determined as a target escape point. The escape point optimization module is used to identify target escape points adjacent to the starting point in the target path as escape points to be optimized; project the escape points to be optimized onto the center reference line of the target lane to obtain a first projection point; determine whether the line connecting the first projection point to the previous target escape point or the starting point of the escape point to be optimized, and the line connecting the first projection point to the next target escape point of the escape point to be optimized, collide with at least one obstacle; if not, based on the first projection point, update the target path, identify the next target escape point of the first projection point in the target path as a new escape point to be optimized, and return to the step of projecting the escape points to be optimized onto the center reference line of the target lane to obtain a first projection point, until the escape point to be optimized is a target escape point located at the end position in the target path; if so, project the escape point to be optimized onto the center reference line of the lane to which the escape point to be optimized belongs to obtain a second projection point. The system determines whether the line connecting the second projection point to the previous target escape point or the starting point of the target escape point, and the line connecting the second projection point to the next target escape point of the target escape point, collide with at least one obstacle. If not, based on the second projection point, the target path is updated, and the next target escape point of the second projection point in the target path is determined as the new target escape point. The system then returns to the step of projecting the target escape point onto the center reference line of the target lane to obtain the first projection point, until the target escape point is the target escape point at the end of the target path. If so, the next target escape point of the target path is determined as the new target escape point, and the system returns to the step of projecting the target escape point onto the center reference line of the target lane to obtain the first projection point, until the target escape point is the target escape point at the end of the target path. The vehicle traction execution module is used to perform traction processing on the vehicle based on multiple target traction points.
7. An electronic device, characterized in that, The electronic device includes: One or more processors; Storage device for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the vehicle extrication method as described in any one of claims 1-5.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the vehicle extrication method as described in any one of claims 1-5.