Methods, devices, equipment, media, and products for sensing road passability areas

By generating and adjusting polygons to perceive and avoid impassable areas, the problem of vehicles struggling to avoid impassable areas while driving is solved, thus achieving safe and smooth driving.

CN122135307APending Publication Date: 2026-06-02BEIJING VOYAGER TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING VOYAGER TECH CO LTD
Filing Date
2024-11-30
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Vehicles may have difficulty effectively perceiving and avoiding impassable areas while driving, which affects safe driving.

Method used

By acquiring environmental data collected by sensors on the vehicle, the set of target key points in the road area to be avoided is determined, a convex polygon is generated, and it is adjusted into a reference concave polygon based on preset polygon constraints. The passable area of ​​the vehicle is determined using this concave polygon to control the vehicle's driving state.

Benefits of technology

It enables vehicles to effectively perceive and avoid impassable areas while driving, ensuring safe driving and maximizing the passable area for smooth passage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122135307A_ABST
    Figure CN122135307A_ABST
Patent Text Reader

Abstract

This disclosure provides a method, apparatus, device, medium, and product for perceiving traversable road areas. The method includes: acquiring environmental data collected by sensors on a vehicle; determining a set of target key points in the external environment of the vehicle to be avoided based on the environmental data; generating a convex polygon representing the traversable road area using the target key point set; adjusting the shape of the convex polygon based on the target key point set and preset polygon constraints to obtain a reference concave polygon representing the traversable road area; and determining the traversable area of ​​the vehicle based on the reference concave polygon, so as to control the vehicle's driving state based on the traversable area. In the embodiments of this disclosure, the vehicle can effectively perceive and promptly avoid impassable areas while driving, which helps ensure safe vehicle operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to driving technology, and in particular to a method, apparatus, device, medium, and product for sensing road traversable areas. Background Technology

[0002] When vehicles are traveling on the road, there may be some areas that are impassable. For example, there may be construction zones on the road; these are areas temporarily occupied due to road construction. Vehicles need to avoid these impassable areas when driving.

[0003] The ability of a vehicle to effectively perceive and promptly avoid impassable areas while driving is crucial for its safe operation. Summary of the Invention

[0004] This disclosure provides a method, apparatus, equipment, medium, and product for sensing passable areas on roads, enabling vehicles to effectively sense and avoid impassable areas while driving, thereby ensuring safe driving.

[0005] According to one aspect of the present disclosure, a method for sensing road passability areas is provided, comprising:

[0006] Acquire environmental data collected by sensors on the vehicle;

[0007] Based on the environmental data, a set of target key points in the road surface area to be avoided in the vehicle's external environment is determined.

[0008] Using the set of target key points, a convex polygon is generated to represent the road surface area to be avoided;

[0009] Based on the target key point set and the preset polygon constraints, the shape of the convex polygon is adjusted to obtain a reference concave polygon used to represent the road surface area to be avoided;

[0010] Based on the reference concave polygon, the passable area of ​​the vehicle is determined so that the driving state of the vehicle can be controlled based on the passable area.

[0011] According to another aspect of the present disclosure, a road passability area sensing device is provided, comprising:

[0012] The acquisition module is used to acquire environmental data collected by sensors on the vehicle.

[0013] The first determining module is used to determine the set of target key points of the road surface area to be avoided in the external environment of the vehicle based on the environmental data.

[0014] The generation module is used to generate a convex polygon representing the road surface area to be avoided using the target key point set;

[0015] The adjustment module is used to adjust the shape of the convex polygon based on the target key point set and preset polygon constraints to obtain a reference concave polygon for representing the road surface area to be avoided.

[0016] The second determining module is used to determine the passable area of ​​the vehicle based on the reference concave polygon, so as to control the driving state of the vehicle based on the passable area.

[0017] According to another aspect of the present disclosure, an electronic device is provided, the electronic device comprising:

[0018] processor;

[0019] Memory used to store the processor's executable instructions;

[0020] The processor is configured to read the executable instructions from the memory and execute the instructions to implement the aforementioned road passability area perception method.

[0021] According to another aspect of the present disclosure, a computer-readable storage medium is provided, the storage medium storing a computer program for performing the above-described road passability area perception method.

[0022] According to another aspect of the present disclosure, a computer program product is provided, including computer program instructions that, when executed by a processor, implement the above-described road passability area perception method.

[0023] Based on the road passable area perception method, apparatus, device, medium, and product provided in the above embodiments of this disclosure, a set of target key points for the road surface area to be avoided in the external environment of the vehicle can be determined based on environmental data collected by sensors on the vehicle. Using the target key point set, a convex polygon representing the road surface area to be avoided can be generated efficiently and quickly according to a convex polygon generation algorithm. Based on the target key point set and preset polygon constraints, a reference concave polygon representing the road surface area to be avoided can be obtained by adjusting the shape of the convex polygon. The reference concave polygon is the geometric representation of the road surface area to be avoided and can carry the perception information of the road surface area to be avoided. The reference concave polygon can serve as the basis for determining the passable area of ​​the vehicle. Based on the determined passable area, the driving state of the vehicle can be controlled, enabling the vehicle to avoid the road surface area to be avoided, that is, the vehicle can avoid impassable areas. Therefore, in the embodiments of this disclosure, the vehicle can effectively perceive and timely avoid impassable areas while driving, which is beneficial to ensuring the safe driving of the vehicle. It should be noted that compared with convex polygons, reference concave polygons have a smaller area and are more compact in structure. Using a more compact reference concave polygon as the basis for determining the passable area of ​​a vehicle can maximize the passable area, which helps ensure smooth vehicle passage. Attached Figure Description

[0024] Figure 1-1 This is a schematic diagram of a convex polygon in some exemplary embodiments of this disclosure.

[0025] Figure 1-2 This is a schematic diagram of a concave polygon in some exemplary embodiments of this disclosure.

[0026] Figure 2 This is a flowchart illustrating a method for perceiving road passable areas provided by some exemplary embodiments of this disclosure.

[0027] Figure 3-1 This is a schematic diagram of a convex polygon in some other exemplary embodiments of this disclosure.

[0028] Figure 3-2 This is a schematic diagram of a concave polygon in some other exemplary embodiments of this disclosure.

[0029] Figure 4 This is a flowchart illustrating a method for determining a set of target key points in a road surface area to be avoided in the external environment of a vehicle based on environmental data, provided by some exemplary embodiments of this disclosure.

[0030] Figure 5 This is a flowchart illustrating a method for determining a target set of key points based on a current set of key points and a set of boundary points, provided by some exemplary embodiments of this disclosure.

[0031] Figure 6 This is a flowchart illustrating a method for adjusting the shape of a convex polygon based on a set of target key points and preset polygon constraints, provided by some exemplary embodiments of this disclosure.

[0032] Figure 7 This is a schematic diagram illustrating the principle of shape adjustment of a convex polygon in some exemplary embodiments of this disclosure.

[0033] Figure 8 This is a flowchart illustrating a method for determining a target edge from the edges used to form a convex polygon, provided by some exemplary embodiments of this disclosure.

[0034] Figure 9 This is a flowchart illustrating a method for determining target key points that fit the target edge from a second subset of key points based on preset polygon constraints, provided by some exemplary embodiments of this disclosure.

[0035] Figure 10 This is a schematic diagram illustrating the determination of key points located within the edge of the target edge in some exemplary embodiments of this disclosure.

[0036] Figure 11-1 This is a flowchart illustrating a method for determining target key points that fit the target edge from a third subset of key points based on preset polygon constraints, provided by some exemplary embodiments of this disclosure.

[0037] Figure 11-2 This is a flowchart illustrating a method for determining key points to be inserted from a third subset of key points, provided by some exemplary embodiments of this disclosure.

[0038] Figure 12-1 This is a flowchart illustrating a method for determining whether a convex polygon after shape adjustment satisfies a preset polygon constraint condition when the target edge is replaced with a third and fourth edge to adjust the shape of the convex polygon, provided by some exemplary embodiments of this disclosure.

[0039] Figure 12-2 This is one of the schematic diagrams used for identifying kinks in some exemplary embodiments of this disclosure.

[0040] Figure 12-3 This is a second schematic diagram of some exemplary embodiments of this disclosure for identifying kinks.

[0041] Figure 13 This is a flowchart illustrating a method for determining target key points that adapt to a target edge based on key points to be inserted, provided by some exemplary embodiments of this disclosure.

[0042] Figure 14-1 This is a flowchart illustrating a method for determining a passable area of ​​a vehicle based on a reference concave polygon, provided by some exemplary embodiments of this disclosure.

[0043] Figure 14-2 This is a partial schematic diagram of a reference concave polygon where shared points exist in some exemplary embodiments of this disclosure.

[0044] Figure 14-3 This is a partial schematic diagram of the target concave polygon obtained after common point decomposition in some exemplary embodiments of this disclosure.

[0045] Figure 14-4 This is a flowchart illustrating a method for adjusting the shape of a convex polygon in some exemplary embodiments of this disclosure.

[0046] Figure 14-5 This is a flowchart illustrating a method for shape adjustment of a convex polygon in some other exemplary embodiments of this disclosure.

[0047] Figure 15 This is a schematic diagram of the structure of a road passability area sensing device provided in some exemplary embodiments of this disclosure.

[0048] Figure 16 This is a schematic diagram of the structure of the first determining module in some exemplary embodiments of this disclosure.

[0049] Figure 17 This is a schematic diagram of the structure of the adjustment module in some exemplary embodiments of this disclosure.

[0050] Figure 18 This is a schematic diagram of the structure of the fifth determining submodule in some exemplary embodiments of this disclosure.

[0051] Figure 19 This is a schematic diagram of the structure of the second determining module in some exemplary embodiments of this disclosure.

[0052] Figure 20 This is a schematic diagram of the structure of an electronic device provided by some exemplary embodiments of this disclosure. Detailed Implementation

[0053] To explain this disclosure, exemplary embodiments of the disclosure will now be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the disclosure, and not all of them. It should be understood that the disclosure is not limited to exemplary embodiments.

[0054] It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of this disclosure.

[0055] Application Overview

[0056] In the embodiments of this disclosure, impassable areas can be represented using geometric methods, such as polygons. Based on these polygons, the passable areas of the vehicle can be determined, allowing for control of the vehicle's driving status and ensuring safe driving.

[0057] It should be noted that the polygons used in the embodiments of this disclosure are all simple polygons. A simple polygon contains only one hole. Simple polygons can generally be divided into two categories: convex polygons and concave polygons. Convex polygons must satisfy a preset same-side condition. Concave polygons do not satisfy this preset same-side condition. The preset same-side condition can be, for example, that any one edge is extended infinitely in both directions to form a straight line, and all other edges are located on the same side of this straight line. In one example, a convex polygon can be as follows: Figure 1-1 As shown, a concave polygon can be as follows: Figure 1-2 As shown.

[0058] Exemplary methods

[0059] Figure 2 This is a flowchart illustrating a method for perceiving road passable areas provided by some exemplary embodiments of this disclosure. Figure 2 The method shown may include steps 200, 210, 220, 230 and 240.

[0060] Step 200: Obtain environmental data collected by sensors on the vehicle.

[0061] Optionally, the sensors on the vehicle may include, but are not limited to, cameras and radar. Cameras may be, for example, monocular cameras or binocular cameras. Radar may be, for example, lidar or millimeter-wave radar. The environmental data collected by the sensors may include, but is not limited to, environmental images collected by cameras and environmental point clouds collected by radar.

[0062] Step 210: Based on environmental data, determine the set of target key points in the road surface area to be avoided in the vehicle's external environment.

[0063] Optionally, the area to be avoided can be understood as a non-passable area on the road, or as an area that vehicles need to avoid while driving. The area to be avoided can include, but is not limited to, construction areas, green belt areas, etc.; among them, green belt areas refer to areas planted with vegetation for environmental landscaping. The set of target key points for the area to be avoided can be a set of multiple key points used to determine the geometric representation of the area to be avoided.

[0064] Taking the case where the environmental data is an environmental image captured by a camera, and the road area to be avoided is a construction area as an example, since the construction area is generally separated from other areas by markers such as warning signs, cones, and construction vehicles, the distribution points of these markers in the environmental image, the position points of the outlines of these markers in the environmental image, etc., can form a set of target key points of the road area to be avoided.

[0065] Taking the case where the environmental data is an environmental point cloud collected by radar, and the road area to be avoided is a green belt area as an example, a target point cloud representing the green belt area can be extracted from the environmental point cloud, and each point in the target point cloud can be mapped to the bird's eye view (BEV) to obtain multiple mapped points. These mapped points can form a set of target key points of the road area to be avoided.

[0066] Based on the above two paragraphs, we know that each keypoint in the target keypoint set can be a point in the pixel coordinate system or a point in the BEV coordinate system. Therefore, each keypoint in the target keypoint set can be represented in the form of point coordinates.

[0067] Step 220: Using the target key point set, generate a convex polygon to represent the road surface area to be avoided.

[0068] Optionally, using the target key point set, a convex polygon representing the road surface area to be avoided can be generated according to a convex polygon generation algorithm. The convex polygon generation algorithm may include, but is not limited to, Graham Scan, QuickHull, etc. It should be noted that, unless otherwise specified, the convex polygon mentioned below refers to the convex polygon generated in step 220.

[0069] Step 230: Based on the target key point set and preset polygon constraints, the shape of the convex polygon is adjusted to obtain a reference concave polygon used to represent the road surface area to be avoided.

[0070] Optionally, the preset polygon constraint condition can refer to the constraint condition that makes the polygon a simple polygon. As an example, the preset polygon constraint condition can include: there is only one hole. Based on the preset polygon constraint condition, some key points can be selected from the target key point set for shape adjustment of the convex polygon to obtain a reference concave polygon for representing the area of ​​the road surface to be avoided.

[0071] Step 240: Determine the passable area of ​​the vehicle based on the reference concave polygon, so as to control the driving state of the vehicle based on the passable area.

[0072] Optionally, the range of the road surface area to be avoided in the external environment of the vehicle can be determined based on the reference concave polygon. The area on the road other than this range can be regarded as the passable area of ​​the vehicle. Alternatively, the area on the road other than this range can be excluded from the area that may be occupied by pedestrians, other vehicles or other obstacles, and the remaining area can be regarded as the passable area of ​​the vehicle.

[0073] In some embodiments, optimization methods can be used to optimize the reference concave polygon to obtain an optimized reference concave polygon, and then the passable area of ​​the vehicle can be determined based on the optimized reference concave polygon.

[0074] Optionally, depending on the passable area of ​​the vehicle, the vehicle can be controlled to turn, detour, or drive along its path so that it can travel within the passable area and thus avoid the road area to be avoided.

[0075] In the embodiments of this disclosure, based on environmental data collected by sensors on the vehicle, a set of target key points in the external environment of the road surface area to be avoided can be determined. Using this set of target key points, a convex polygon representing the road surface area to be avoided can be generated efficiently and quickly using a convex polygon generation algorithm. Based on the set of target key points and preset polygon constraints, a reference concave polygon representing the road surface area to be avoided can be obtained by adjusting the shape of the convex polygon. The reference concave polygon is the geometric representation of the road surface area to be avoided and can carry the perceived information of the road surface area to be avoided. The reference concave polygon can serve as a basis for determining the vehicle's passable area. Based on the determined passable area, controlling the vehicle's driving state allows the vehicle to avoid the road surface area to be avoided, that is, the vehicle can avoid impassable areas. Therefore, in the embodiments of this disclosure, the vehicle can effectively perceive and promptly avoid impassable areas while driving, which is beneficial to ensuring the safe driving of the vehicle.

[0076] It should be noted that, compared to convex polygons, reference concave polygons have a smaller area and are more structurally compact. In one example, the structure of a convex polygon can be seen in [reference needed]. Figure 3-1 For the structure of a concave polygon, please refer to... Figure 3-2 Using a more compact reference concave polygon as the basis for determining the passable area of ​​a vehicle can maximize the passable area, thus ensuring smooth vehicle passage.

[0077] Figure 4 This is a flowchart illustrating a method for determining a set of target key points in a road surface area to be avoided in the external environment of a vehicle based on environmental data, provided by some exemplary embodiments of this disclosure. Figure 4 The method shown may include steps 410, 420 and 430.

[0078] Step 410: Based on environmental data, determine the current set of key points in the area of ​​road surface to be avoided.

[0079] Taking the case where the road area to be avoided is a construction area and the environmental data is an environmental image as an example, some detection algorithms can be used to detect the environmental image to determine the distribution points of signs such as warning signs, cones, and construction vehicles in the environmental image, as well as the position points of the outlines of these signs in the environmental image. These position points can form the current key point set of the road area to be avoided.

[0080] Taking the case where the road area to be avoided is a green belt area and the environmental data is an environmental point cloud as an example, a target point cloud representing the green belt area can be extracted from the environmental point cloud, and each point in the target point cloud can be mapped to the bird's-eye view to obtain multiple mapped points. These mapped points can form the current key point set of the road area to be avoided.

[0081] Step 420: Obtain the set of boundary points of the historical concave polygons used to represent the road surface area to be avoided.

[0082] It should be noted that, Figure 2 The method shown can be executed several times, each time... Figure 2 The methods shown can all produce a concave polygon representing the area of ​​the road surface to be avoided; among them, the most recently executed Figure 2 The concave polygon obtained by the method shown can be called the reference concave polygon, which is not the most recent execution. Figure 2 The concave polygon obtained by the method shown can be called a historical concave polygon.

[0083] Optionally, each vertex of the historical concave polygon can be determined, and each vertex can be considered as a boundary point. These boundary points can form the boundary point set of the historical concave polygon. As an example, each boundary point in the boundary point set of the historical concave polygon can be represented by point coordinates. The boundary point set of the historical concave polygon can be stored in a designated storage area, so that in step 420, the boundary point set of the historical concave polygon can be read from the designated storage area.

[0084] Step 430: Determine the target key point set based on the current key point set and boundary point set.

[0085] Optionally, some boundary points can be selected from the boundary point set as new key points and added to the current key point set to update the current key point set. The updated current key point set can then be used as the target key point set.

[0086] In some alternative embodiments of this disclosure, such as Figure 5As shown, step 430 may include steps 510, 520 and 530.

[0087] Step 510: Determine the first key point subset from the current key point set; wherein the first key point subset matches the first boundary point subset in the boundary point set.

[0088] Optionally, the current keypoint set may include multiple keypoints, such as M keypoints. The boundary point set may include multiple boundary points, such as N boundary points. For each of the M keypoints, it can be determined whether there is a matching boundary point among the N boundary points. As an example, if the distance between the keypoint and a boundary point is less than a set distance threshold, it can be determined that the boundary point matches the keypoint; if the distance between the keypoint and a boundary point is greater than or equal to the set distance threshold, it can be determined that the boundary point does not match the keypoint. Suppose that among the M keypoints, R keypoints find matching boundary points among the N boundary points, then the R keypoints can form a first keypoint subset, and the R boundary points that match the R keypoints one-to-one can form a first boundary point subset.

[0089] Step 520: Determine a second set of boundary points from the set of boundary points; wherein the second set of boundary points includes: boundary points located outside the first set of boundary points and satisfying preset time constraints with the current set of key points.

[0090] Continuing the example above, the boundary point set includes N boundary points, and the first boundary point subset includes R boundary points. Therefore, besides the first boundary point subset, there are N-R boundary points remaining in the boundary point set. From these remaining N-R boundary points, we can identify the boundary points that satisfy the preset time constraints of the current keypoint set. These identified boundary points can form the second boundary point subset. Satisfying the preset time constraints for any boundary point with the current keypoint set can be understood as: the time point corresponding to the boundary point is sufficiently close to the time point corresponding to the current keypoint. The time point corresponding to the current keypoint set can be understood as the time point used to obtain the environmental data for the current keypoint set; the time point corresponding to the boundary point can be understood as the time point used to obtain the environmental data for that boundary point. Both the time points corresponding to the current keypoint set and the time points corresponding to each boundary point can be stored in a designated storage area. Thus, by reading from the storage area, these time points can be obtained and used.

[0091] In one example, the time point corresponding to the current set of key points is denoted as t1, and the time point corresponding to any of the remaining N-R boundary points is denoted as t2. The preset time interval is denoted as δ. Then, we can calculate Δt = t1 - t2 and compare Δt with δ. If Δt is less than δ, it means t1 and t2 are sufficiently close, and in this case, the boundary point can be determined to satisfy the preset time constraint condition with the current set of key points. If Δt is greater than or equal to δ, it means t1 and t2 are not sufficiently close, and in this case, the boundary point can be determined to not satisfy the preset time constraint condition with the current set of key points. Following this method, we can select boundary points from the remaining N-R boundary points that are sufficiently close to the current set of key points at their corresponding time points; these boundary points can form a second subset of boundary points.

[0092] In another example, after calculating Δt = t1 - t2, the ratio of Δt to δ, Δt / δ, can be calculated. If Δt / δ is less than a predetermined first ratio (e.g., 0.9 or 1), t1 and t2 can be considered sufficiently close; if Δt / δ is greater than or equal to the predetermined first ratio, t1 and t2 can be considered not sufficiently close. Based on this, a second set of boundary points can also be obtained.

[0093] Step 530: Add the second boundary point subset to the current key point set to obtain the target key point set.

[0094] Optionally, each boundary point in the second boundary point subset can be added as a new key point to the current key point set to update the current key point set. The updated current key point set can then be used as the target key point set.

[0095] Figure 5In the illustrated implementation, the current set of key points can be compared with the set of boundary points of historical concave polygons to determine a first subset of key points consisting of matching key points in the current set, and a first subset of boundary points consisting of matching boundary points in the boundary point set. Next, from the boundary points in the boundary point set excluding the first subset, boundary points that are sufficiently close to the current set at the corresponding time point can be selected to form a second subset of boundary points. By adding the second subset of boundary points to the current set of key points, the target set of key points can be obtained efficiently and reliably. It should be noted that the boundary points in the second subset of boundary points can be considered as points not detected based on the latest environmental data collected by the sensor, but detected based on environmental data collected by the sensor in a more recent period. This may be due to factors such as occlusion. Therefore, such points can be added to the current set of key points to obtain the target set of key points. Correspondingly, such points can be used to generate the latest concave polygons, which helps ensure the temporal stability of the generated concave polygons.

[0096] Of course, the implementation of step 430 is not limited to this. For example, all boundary points in the boundary point set other than the first boundary point subset can be added as new key points to the current key point set to obtain the target key point set.

[0097] In the embodiments of this disclosure, the current set of key points for the area to be avoided can be determined efficiently and quickly based on environmental data collected by sensors. Additionally, a set of boundary points representing historical concave polygons of the area to be avoided can be determined. This set of boundary points can be considered historical information; by incorporating historical information during the determination of the target key point set, the shape of the generated concave polygon can be ensured to remain temporally stable. For example, the shape of the final generated concave polygon can remain essentially unchanged regardless of the environmental data collected by the sensors at different times.

[0098] Figure 6 This is a flowchart illustrating a method for adjusting the shape of a convex polygon based on a set of target key points and preset polygon constraints, provided by some exemplary embodiments of this disclosure. Figure 6 The method shown may include steps 610, 620, 630 and 640.

[0099] Step 610: Determine the target edge from the edges used to form the convex polygon.

[0100] Alternatively, each edge used to form the convex polygon can be used as a target edge. Or, a subset of edges can be selected from the edges used to form the convex polygon, and each of the selected subset of edges can be used as a target edge.

[0101] Step 620: Determine the second subset of key points in the target key point set, excluding the two key points that are the two endpoints of the target edge.

[0102] Optionally, the two endpoints of the target edge can be two key points in the target key point set. After excluding these two key points, the remaining key points in the target key point set can form a second key point subset.

[0103] Step 630: Based on the preset polygon constraints, determine the target key points that are compatible with the target edge from the second key point subset.

[0104] Optionally, the system can iterate through each key point in the second key point subset and determine whether the convex polygon, after being shaped by inserting the currently traversed key point into it, satisfies the preset polygon constraints. If the convex polygon satisfies the preset polygon constraints, the currently traversed key point can be used as the target key point to adapt to the target edge. If the convex polygon does not satisfy the preset polygon constraints, the traversal of key points can continue.

[0105] Step 640: Replace the target edge with the first edge and the second edge to adjust the shape of the convex polygon; wherein the first edge, the second edge and the target edge form a triangle, and the target key point serves as the common endpoint of the first edge and the second edge.

[0106] In one example, the target edge is Figure 7 In the edge 'se', the target key point is Figure 7 If point i is in the middle, then the first side can be... Figure 7 In the equation, edge si, the second edge can be... Figure 7 In the triangle, edge ie. It is easy to see that edge se, edge si, and edge ie can form a triangle, where point i is the common endpoint of edge si and edge ie. Furthermore, after replacing edge se with edge si and edge ie, the shape of the convex polygon is adjusted to become concave.

[0107] In the embodiments of this disclosure, by inserting target key points into the convex polygon and further replacing one target edge with two edges that can form a triangle with the target edge, the shape adjustment of the convex polygon can be achieved efficiently and reliably, and the desired concave polygon can be obtained on this basis.

[0108] Optionally, before adjusting the shape of the convex polygon, the edges constituting the convex polygon can be traversed in a predetermined clockwise order so that each edge of the convex polygon has a direction. See [link to documentation] for details. Figure 7Each solid line in the diagram carries an arrow. The predetermined clockwise sequence can be either clockwise or counterclockwise. After the convex polygon has been shaped, the edges that form the shaped polygon can still have directions, which still correspond to the predetermined clockwise sequence. See [link to documentation] for details. Figure 7 The arrows on the middle edge si and the edge ie.

[0109] Figure 8 This is a flowchart illustrating a method for determining a target edge from the edges used to form a convex polygon, provided by some exemplary embodiments of this disclosure. Figure 8 The method shown may include steps 810 and 820.

[0110] Step 810: Determine the numerical relationship between the side lengths of each side used to form the convex polygon and the preset length.

[0111] Step 820: Based on numerical relationships, determine the target edge from the edges used to form the convex polygon.

[0112] Optionally, for any edge used to form a convex polygon, the relationship between the edge length and a preset length can be determined, and this relationship can be used as the numerical relationship between the edge length and the preset length. If the edge length is greater than the preset length, the edge can be defined as a target edge.

[0113] Alternatively, for any edge used to form a convex polygon, the ratio between the edge length and a preset length can be determined, and this ratio can serve as the numerical relationship between the edge length and the preset length. If this ratio is greater than or equal to a set second ratio (e.g., 1 or 1.2), the edge can be identified as a target edge.

[0114] In the embodiments of this disclosure, target edges can be selected from the edges used to form the convex polygon based on the numerical relationship between each edge and a preset length. For example, each edge with a length greater than the preset length can be designated as a target edge. This eliminates the need to determine corresponding target key points and replace edges that are too short, thus avoiding overly tedious shape adjustment tasks for the convex polygon and ensuring efficient acquisition of the reference convex polygon.

[0115] Figure 9 This is a flowchart illustrating a method for determining target key points that fit the target edge from a second subset of key points based on preset polygon constraints, provided by some exemplary embodiments of this disclosure. Figure 9 The method shown may include steps 910, 920, 930 and 940.

[0116] Step 910: Determine the target line containing the target edge.

[0117] Optionally, the target edge can be extended infinitely in both directions into a straight line, which is the target straight line where the target edge is located.

[0118] Step 920: Determine the projection position of each key point in the second key point subset on the target line.

[0119] Optionally, all keypoints in the second keypoint subset and the target line can be located in the same coordinate system, such as the pixel coordinate system or the BEV coordinate system. Through geometric calculations, the projected positions of each keypoint in the second keypoint subset on the target line can be determined efficiently and reliably. As an example, the projected positions can be represented using point coordinates.

[0120] Step 930: From the second set of key points, determine the third set of key points whose projection positions are located between the two endpoints of the target edge.

[0121] Optionally, for each keypoint in the second keypoint subset, the projected position of the keypoint can be compared with the coordinates of the two endpoints of the target edge to determine whether the projected position of the keypoint is located between the two endpoints of the target edge. If the projected position of the keypoint is located between the two endpoints of the target edge, it can be determined that the keypoint is located inside the target edge. In this way, all keypoints located inside the target edge in the second keypoint subset can be searched, and these keypoints can form a third keypoint subset.

[0122] In one example, one endpoint of the target edge is used Figure 10 The start object in the context indicates that the other endpoint of the target edge is represented by... Figure 10 In the context of "end object", the target line can be... Figure 10 The line v in the middle. The second key point subset can include Figure 10 Consider points 1, 2, and 3 on line v. Clearly, the projections of points 1 and 2 onto line v lie between the start and end objects, while the projection of point 3 onto line v does not lie between the start and end objects. Therefore, points 1 and 2 can be considered to be inside the target edge, and point 3 can be considered to be outside the target edge. Accordingly, the second subset of keypoints can include points 1 and 2, but not point 3.

[0123] Step 940: Based on the preset polygon constraints, determine the target key points that are compatible with the target edge from the third key point subset.

[0124] It should be noted that, Figure 6 In the illustrated embodiment, step 630 describes a method for determining target key points adapted to the target edge from a second subset of key points based on preset polygon constraints. A similar method can be used in step 940 to determine target key points adapted to the target edge from a third subset of key points. Of course, the method for determining target key points adapted to the target edge from the third subset of key points is not limited to this; further examples will follow.

[0125] In the embodiments of this disclosure, based on the projection positions of each key point in the second key point subset onto the target line, key points located within the edge of the target edge can be selected from the second key point subset to form a third key point subset. The target key point is then determined from the third key point subset. This narrows the range of the key point subset used to determine the target key point, thereby improving the efficiency of target key point determination. Assume the target edge is... Figure 7 In the context of edge se, it is clear that point i is a key point inside edge se. By inserting point i into the convex polygon, the convex polygon can be made concave. Based on this, the desired concave polygon can be obtained relatively easily. Therefore, using the third key point subset as the key point subset for determining the target key point is beneficial to ensuring the efficiency of obtaining the desired concave polygon.

[0126] Figure 11-1 This is a flowchart illustrating a method for determining target key points that fit the target edge from a third subset of key points based on preset polygon constraints, provided by some exemplary embodiments of this disclosure. Figure 11-1 The method shown may include steps 1110, 1120 and 1130.

[0127] Step 1110: Determine the key points to be inserted from the third key point subset.

[0128] Optionally, a keypoint can be randomly selected from the third keypoint subset as the keypoint to be inserted. Alternatively, a keypoint can be selected from the third keypoint subset as the keypoint to be inserted according to the set selection rules.

[0129] In some alternative embodiments of this disclosure, such as Figure 11-2 As shown, step 1110 may include steps 11101, 11103 and 11105.

[0130] Step 11101: Determine the vertical distance between each key point in the third key point subset and the target edge.

[0131] Optionally, the third keypoint subset and the target edge can be located in the same coordinate system, such as both in the pixel coordinate system or both in the BEV coordinate system. Through geometric calculations, the vertical distance between each keypoint in the third keypoint subset and the target edge can be determined efficiently and reliably.

[0132] Step 11103: Determine the relationship between the vertical distances between the key points in the third key point subset.

[0133] Optionally, the vertical distances corresponding to each key point in the third key point subset can be compared pairwise to obtain the size relationship between these vertical distances.

[0134] Step 11105: Based on the size relationship, determine the key points to be inserted from the third key point subset.

[0135] Optionally, based on the size relationship determined in step 11103, the keypoints in the third keypoint subset can be arranged in ascending order of their corresponding vertical distances to form a keypoint sequence. Next, a keypoint can be selected from the keypoint sequence as the keypoint to be inserted, according to a set selection rule. The set selection rule could be, for example, selecting a keypoint that has not been selected before and whose corresponding vertical distance is as small as possible.

[0136] In this way, the size relationship determined in step 11103 can provide a very effective reference for the selection of key points to be inserted, thereby enabling the key points to be inserted to be determined efficiently and quickly for subsequent steps.

[0137] Step 1120: Determine whether the convex polygon after shape adjustment satisfies the preset polygon constraint conditions when the target edge is replaced with the third and fourth edges to adjust the shape of the convex polygon; wherein the third edge, the fourth edge and the target edge form a triangle, and the key point to be inserted is used as the common endpoint of the third edge and the fourth edge; in response to the convex polygon after shape adjustment satisfying the preset polygon constraint conditions, execute step 1130.

[0138] Optionally, it can be assumed that the key point to be inserted is inserted into the convex polygon, replacing the target edge with the third and fourth edges, thereby adjusting the shape of the convex polygon. In this case, the number of holes existing in the convex polygon after shape adjustment can be determined. If there is more than one hole in the convex polygon after shape adjustment, it can be determined that the convex polygon after shape adjustment does not meet the preset polygon constraint conditions. If there is only one hole in the convex polygon after shape adjustment, it can be determined that the convex polygon after shape adjustment meets the preset polygon constraint conditions.

[0139] Step 1130: Based on the key points to be inserted, determine the target key points that are adapted to the target edge.

[0140] Optionally, the keypoint to be inserted can be directly used as the target keypoint to be adapted to the target edge. Alternatively, the keypoint to be inserted can be further validated using some validation methods; if the validation passes, the keypoint to be inserted can be used as the target keypoint to be adapted to the target edge; if the validation fails, the process can return to step 1110 to select a new keypoint from the third keypoint subset as the keypoint to be inserted.

[0141] In the embodiments of this disclosure, a key point can be selected from the third subset of key points as the key point to be inserted, and it is determined whether the convex polygon after shape adjustment satisfies the preset polygon constraint conditions when the key point is inserted into the convex polygon for shape adjustment. If the determination result is satisfied, it means that the key point is suitable for shape adjustment of the convex polygon, and therefore the key point can be used as the basis for determining the target key point that adapts to the target edge. If the determination result is not satisfied, it means that the key point is not suitable for shape adjustment of the convex polygon, and therefore another key point can be selected from the third subset of key points as the key point to be inserted, and it is further determined whether the other key point is suitable for shape adjustment of the convex polygon. In this way, by adopting the embodiments of this disclosure, a suitable key point can be selected from the third subset of key points for shape adjustment of the convex polygon, thereby ensuring the rationality and reliability of the subsequently obtained concave polygon.

[0142] Figure 12-1 This is a flowchart illustrating a method for determining whether a convex polygon after shape adjustment satisfies a preset polygon constraint condition when the target edge is replaced with a third and fourth edge to adjust the shape of the convex polygon, provided by some exemplary embodiments of this disclosure. Figure 12-1 The method shown may include steps 1210, 1220, 1230 and 1240.

[0143] Step 1210: Determine whether a fifth and sixth edge exist in the convex polygon after shape adjustment when the target edge is replaced with the third and fourth edges to adjust the shape of the convex polygon; wherein the fifth and sixth edges are continuous edges in the convex polygon after shape adjustment, and the key point to be inserted is the common endpoint of the third, fourth, fifth, and sixth edges; in response to the existence of a fifth and sixth edge in the convex polygon after shape adjustment, execute step 1220.

[0144] Step 1220: Extend the third and fourth sides to divide the coordinate system of the convex polygon after shape adjustment into two sub-regions through the boundary line where the third and fourth sides are distributed.

[0145] In one example, the key point to be inserted is Figure 12-2 Point b in the middle, the third side is Figure 12-2 In the equation, edge ab, the fourth edge is Figure 12-2 In the polygon, edges bc, db, and be are continuous edges in the convex polygon after shape adjustment. Therefore, edge db can be considered the fifth edge, and edge be the sixth edge. Then, edge ab can be extended in the direction from b to a, and edge bc can be extended in the direction from b to c. This gives us the boundary line containing edges ab and bc. The boundary line can... Figure 12-2 The coordinate system shown is divided into two sub-regions, namely sub-region P1 and sub-region P2.

[0146] In another example, the key point to be inserted is Figure 12-3 Point b in the middle, the third side is Figure 12-3 In the equation, edge ab, the fourth edge is Figure 12-3 In the polygon, edges be, db, and bc are continuous edges in the convex polygon after shape adjustment. Therefore, edge db can be considered the fifth edge, and edge bc the sixth edge. Then, edge ab can be extended in the direction from b to a, and edge be extended in the direction from b to e. This gives us the boundary line containing edges ab and be. The boundary line can... Figure 12-3 The coordinate system shown is divided into two sub-regions, namely sub-region P3 and sub-region P4.

[0147] Step 1230: Based on the distribution information of the fifth and sixth sides relative to the two sub-regions, determine the kinking state of the third, fourth, fifth, and sixth sides.

[0148] by Figure 12-2For example, if edge db, which is the fifth edge, is located in subregion P2, and edge be, which is the sixth edge, is located in subregion P1, then the distribution information of the fifth and sixth edges relative to the two subregions can be used to characterize that the fifth and sixth edges are located in different subregions (or it can be considered that points e and d are located in different subregions). In this case, the kinking state of the third, fourth, fifth, and sixth edges can be used to characterize that the third, fourth, fifth, and sixth edges have kinked at their common endpoints.

[0149] In some embodiments, if Figure 12-2 Points d and e are both located on the boundary line. The kinking state of the third, fourth, fifth, and sixth sides can be used to characterize that the third, fourth, fifth, and sixth sides do not kink at their common endpoints.

[0150] by Figure 12-3 For example, if edge db (the fifth edge) and edge bc (the sixth edge) are both located in subregion P4, then the distribution information of the fifth and sixth edges relative to the two subregions can be used to characterize that the fifth and sixth edges are located in the same subregion (or points d and c can be considered to be located in the same subregion). In this case, the kinking state of the third, fourth, fifth, and sixth edges can be used to characterize that the third, fourth, fifth, and sixth edges have not kinked at their common endpoints.

[0151] Step 1240: Based on the kink state, determine whether the convex polygon after shape adjustment satisfies the preset polygon constraint conditions.

[0152] Optionally, if the kink state is used to characterize that the third, fourth, fifth, and sixth sides are kinked at a common endpoint, since the presence of kinks usually results in more than one hole in the convex polygon after shape adjustment, it can be determined that the convex polygon after shape adjustment does not meet the preset polygon constraint conditions.

[0153] Optionally, if the kink state is used to indicate that the third, fourth, fifth, and sixth sides are not kinked at their common endpoints, it can be further determined whether there are two intersecting edges in the convex polygon after shape adjustment. If there are two intersecting edges in the convex polygon after shape adjustment, it can be determined that the convex polygon after shape adjustment does not meet the preset polygon constraint conditions. If there are no two intersecting edges in the convex polygon after shape adjustment, it can be determined that the convex polygon after shape adjustment meets the preset polygon constraint conditions.

[0154] Generally speaking, kinks do not occur in simple polygons. Specifically, such as Figure 12-2 As shown, edges ab, bc, db, and be intersect in direction at point b, which is a common endpoint. This is an unacceptable kink. Figure 12-3As shown, although edges ab, be, db, and bc have a common endpoint, they do not intersect in direction, so there is no kink.

[0155] In the embodiments of this disclosure, it can be determined whether a fifth and sixth side exist in the convex polygon after shape adjustment when the target edge is replaced with the third and fourth sides to adjust the shape of the convex polygon. If a fifth and sixth side exist in the convex polygon after shape adjustment, the third and fourth sides can be extended to facilitate the division of the coordinate system. Combined with the distribution information of the fifth and sixth sides relative to the two sub-regions, it is possible to efficiently and reliably determine whether the third, fourth, fifth, and sixth sides have kinked at their common endpoints. Based on this, it is possible to efficiently and reliably determine whether the convex polygon after shape adjustment satisfies the preset polygon constraint conditions. This helps to ensure that there are no kinks in the reference concave polygon obtained after shape adjustment of the convex polygon, so that the reference concave polygon meets the requirements of a simple polygon.

[0156] Figure 13 This is a flowchart illustrating a method for determining target key points that adapt to a target edge based on key points to be inserted, provided by some exemplary embodiments of this disclosure. Figure 13 The method shown applies to cases where the target keypoint set is obtained by adding a subset of second boundary points to the current keypoint set (see [link]). Figure 5 (Example shown).

[0157] Step 1310: Add the second boundary point subset to the first key point subset to update the first key point subset.

[0158] Optionally, each boundary point in the second boundary point subset can be added as a new key point to the first key point subset to update the first key point subset.

[0159] Step 1320: In response to the key point to be inserted being located in the updated first key point subset, the key point to be inserted is used as the target key point to be adapted to the target edge.

[0160] Step 1330: In response to the key point to be inserted being located outside the updated first key point subset, determine the angles between the third and fourth sides and the target side respectively; in response to the angles between the third and fourth sides being less than or equal to the preset angles, use the key point to be inserted as the target key point that is adapted to the target side.

[0161] As described above, by comparing the current set of keypoints with the historical set of boundary points of the concave polygon, a first subset of keypoints can be determined, consisting of all matching keypoints in the current set. Each keypoint in this first subset can be considered a keypoint matching historical information. Furthermore, as described above, from the boundary points in the boundary point set (excluding the first subset), boundary points that are sufficiently close to the current set at the corresponding time point can be selected to form a second subset of boundary points. The boundary points in this second subset can be considered boundary points carrying historical information. Accordingly, when the second subset of boundary points is added to the first subset of keypoints to update the first subset, if the keypoint to be inserted is located in the updated first subset, it can be determined that the keypoint to be inserted is a keypoint matching historical information. Using the keypoint to be inserted for shape adjustment of the convex polygon helps ensure the shape stability of the concave polygon. Therefore, the keypoint to be inserted can be used as the target keypoint for adapting to the target edge. If the keypoint to be inserted is outside the updated first keypoint subset, it can be determined that the keypoint to be inserted is a keypoint that does not match the historical information. Next, the angles between the third and fourth sides and the target side can be further determined, and the angles corresponding to the third and fourth sides can be compared with preset angles. If the angles corresponding to the third and fourth sides are both less than or equal to the preset angles, it means that the degree of indentation caused by inserting the keypoint to be inserted into the convex polygon will not be too large. In this case, the keypoint to be inserted can be used as the target keypoint that matches the target side. If at least one of the angles corresponding to the third and fourth sides is greater than the preset angle, it means that the degree of indentation caused by inserting the keypoint to be inserted into the convex polygon is too large. In this case, the keypoint to be inserted can not be used as the target keypoint that matches the target side. Instead, step 1110 is executed to select a new keypoint from the third keypoint subset as the keypoint to be inserted.

[0162] In embodiments of this disclosure, a second subset of boundary points can be added to a first subset of key points to update the first subset of key points. Based on whether the key point to be inserted is located in the updated first subset of key points, it can be determined whether the key point to be inserted is suitable for shape adjustment of the convex polygon. Determining the target key point based on this helps ensure the rationality and reliability of the determined target key point. For example, key points matching historical information can be prioritized as target key points for shape adjustment of the convex polygon, which helps ensure the shape stability of the concave polygon.

[0163] Figure 14-1 This is a flowchart illustrating a method for determining a passable area of ​​a vehicle based on a reference concave polygon, provided by some exemplary embodiments of this disclosure. Figure 14-1The method shown may include steps 1410, 1420, 1430, 1440 and 1450.

[0164] Step 1410: Determine the seventh, eighth, ninth, and tenth sides from the reference concave polygon; wherein the seventh and eighth sides are consecutive sides in the reference concave polygon, the ninth and tenth sides are consecutive sides in the reference concave polygon, and the seventh, eighth, ninth, and tenth sides have a target common endpoint.

[0165] In one example, such as Figure 14-2 As shown, edges ab and bd are continuous edges in the reference concave polygon, and edges cb and be are continuous edges in the reference concave polygon. Edges ab, bd, cb, and be have a common endpoint, specifically point b. Therefore, edge ab can be the seventh edge, edge bd can be the eighth edge, edge bd can be the ninth edge, edge be can be the tenth edge, and point b can be the target common endpoint of the seventh, eighth, ninth, and tenth edges.

[0166] Step 1420: Determine the dividing line used to divide the included angle between the seventh and eighth sides.

[0167] Still with Figure 14-2 For example, if side ab can be the seventh side and side bd can be the eighth side, then the midline between sides ab and bd can be used as the dividing line for the angle between the seventh and eighth sides; whereby the dividing line is used to divide the angle into two equal parts. Optionally, the midline can be seen in... Figure 14-3 vectors in Of course, when determining the above dividing line, the dividing line can also divide the included angle into two parts that are not completely equal.

[0168] Step 1430: Determine sampling points at a preset distance from the target common endpoint on the dividing line.

[0169] Optionally, the preset distance can be a relatively small distance value. For example... Figure 14-3 As shown, along the extension direction of the dividing line, a point b' at a preset distance from point b can be determined, and point b' can be used as the sampling point in step 1430.

[0170] Step 1440: Replace the target common endpoints on the seventh and eighth sides with sampling points to update the reference concave polygon and obtain the target concave polygon.

[0171] like Figure 14-3As shown, point b, which is an endpoint in edge ab, can be replaced with point b', and point b, which is an endpoint in edge bd, can also be replaced with point b'. At this time, edge ab is updated to edge ab', and edge bd is updated to edge b'd. In this way, the reference concave polygon can be updated, and the target concave polygon can be obtained based on this.

[0172] Step 1450: Determine the passable area for the vehicle based on the target concave polygon.

[0173] Optionally, the range of the road surface area to be avoided in the external environment of the vehicle can be determined based on the target concave polygon. The area on the road other than this range can be used as the passable area of ​​the vehicle. Alternatively, the area on the road other than this range can be excluded from the area that may be occupied by pedestrians, other vehicles or other obstacles, and the remaining area can be used as the passable area of ​​the vehicle.

[0174] In the embodiments of this disclosure, for the case where there are shared points in the reference concave polygon (see details...), Figure 14-2 For example, if the seventh, eighth, ninth, and tenth sides have a common target endpoint, a dividing line can be determined, sampling points can be determined on the dividing line, and the common target endpoints on some sides can be replaced. This allows for splitting at the common endpoints to avoid shared points, thereby enabling the updating of the reference polygon. This is beneficial for obtaining a target concave polygon that strictly satisfies the mathematical definition of a simple polygon.

[0175] In some optional examples, environmental data collected by the sensor at time t1 can be obtained. Based on this environmental data, the current set of key points for the road surface area to be avoided (mentioned above) can be determined. The current set of key points can be represented as Ot = {oi, t, i = 1, 2, 3, ..., n, oi ∈ R2}, where oi represents the i-th key point, n represents the total number of key points, and R2 represents the two-dimensional real number field. Optionally, the set of boundary points representing the historical concave polygon of the road surface area to be avoided can also be obtained. The set of boundary points can be represented as Ch. By comparing Ot with Ch, the first subset of key points consisting of matching key points in Ot and the first subset of boundary points consisting of matching boundary points in Ch can be determined. Based on this, the second subset of boundary points mentioned above can be determined and added to Ot to obtain the updated Ot. The updated Ot can be used as the target set of key points. Additionally, the second set of boundary points can be added to the first set of key points to update the first set of key points, which can then be represented as Mt. Using the target set of key points, a convex polygon can be generated according to a convex polygon generation algorithm.

[0176] Next, we can iterate through each conditional edge of the convex polygon. For example... Figure 14-4 As shown, if the current edge reached during traversal is too short, it is skipped without processing, and traversal continues to the next edge. If the current edge reached during traversal is not too short, it can be used as a target edge. For example, the target edge could be... Figure 7 Edge se. From the target keypoint set, excluding points s and e, we can find the keypoints located inside edge se. These keypoints can be arranged in ascending order of their corresponding vertical distances to form a keypoint sequence.

[0177] After that, as Figure 14-5 As shown, candidate points can be determined from the keypoint sequence. For example, the first keypoint in the sequence can be selected as a candidate point. Assuming this candidate point is point i (equivalent to the keypoint to be inserted above), we can attempt to insert the point, for example, by inserting point i between edges se, i.e., deleting the original edge se and forming edges si and ie. Here, we can determine whether there are two intersecting edges in the convex polygon after shape adjustment when point i is inserted between edges se, and whether a kink has occurred.

[0178] If the convex polygon after shape adjustment contains two intersecting edges and / or has a kink, then point i, as a candidate point, is not considered a valid indentation point. In this case, candidate points can be re-determined from the keypoint sequence. For example, the second-ranked keypoint in the keypoint sequence can be selected as a new candidate point.

[0179] If the convex polygon after shape adjustment does not have two intersecting edges and there is no kink, then point i, as a candidate point, can be considered a valid indentation point. In this case, it can be determined whether point i matches historical information. For example, it can be determined whether point i is located within Mt. If point i is located within Mt, it can be determined that point i matches historical information, and point i can be selected as the target key point mentioned above and inserted between edges se. Then, the processing flow for the next edge in the convex polygon can proceed. If point i is not located within Mt, it can be determined that point i does not match historical information. In this case, it can be determined whether the degree of indentation of point i relative to edge se is too large. Specifically, the vector pointing from point s to point e can be called vector 1, the vector pointing from point s to point i can be called vector 2, the vector pointing from e to point s can be called vector 3, and the vector pointing from point e to point i can be called vector 4. If the angle between vector 1 and vector 2 is less than or equal to θ (equivalent to the preset angle mentioned above), and the angle between vector 3 and vector 4 is also less than or equal to θ, it can be determined that the indentation of point i relative to edge se is not too large; otherwise, it can be determined that the indentation of point i relative to edge se is too large. If the indentation of point i relative to edge se is not too large, point i can be selected as the target key point mentioned above and inserted between edges se, and then the processing flow of the next edge in the convex polygon can be entered. If the indentation of point i relative to edge se is too large, candidate points can be re-determined from the key point sequence. For example, the second-ranked key point in the key point sequence can be selected as a new candidate point. In this way, other key points may be selected as new key points from the key point sequence later. In this way, we can try each key point in the key point sequence in order of increasing vertical distance to see if it is suitable to be inserted between edges se. If a key point is found to be suitable for insertion between edges se, we can stop trying the remaining key points in the key point sequence. If none of the key points in the key point sequence are suitable for insertion between edges se, then there is no need to insert key points for edges se.

[0180] After traversing each edge of the convex polygon and performing the above processing on each edge, the reference convex polygon mentioned above can be obtained. During the generation of the reference convex polygon, vertex sharing is allowed (e.g., ...). Figure 14-2 (As shown in the case of shared points), this helps to ensure the compact structure of the reference convex polygon.

[0181] For cases where there are shared points in the reference concave polygon, the following can be used: Figure 14-1 In the illustrated embodiment, common points are split to update the reference concave polygon, thereby obtaining the target concave polygon. Based on the target concave polygon, the passable area of ​​the vehicle can be determined, so that the vehicle's driving state can be controlled based on the passable area.

[0182] Optionally, after obtaining the target concave polygon, the set of boundary points of the target concave polygon and the time points corresponding to each boundary point in the set of boundary points can be determined. The set of boundary points and these time points can be stored in a preset storage area for subsequent use.

[0183] In summary, the embodiments of this disclosure can efficiently and quickly generate temporally stable and structurally compact concave polygons. Based on these concave polygons, the largest possible passable area can be determined, and vehicle driving control can be performed accordingly. This not only effectively avoids impassable areas and ensures the safe driving of the vehicle, but also ensures the smooth passage of the vehicle.

[0184] Exemplary device

[0185] Figure 15 This is a schematic diagram of the structure of a road passability area sensing device provided in some exemplary embodiments of this disclosure. Figure 15 The apparatus shown includes:

[0186] The acquisition module 1510 is used to acquire environmental data collected by sensors on the vehicle.

[0187] The first determining module 1520 is used to determine the set of target key points of the road surface area to be avoided in the external environment of the vehicle based on environmental data.

[0188] The generation module 1530 is used to generate a convex polygon representing the road surface area to be avoided by utilizing the target key point set.

[0189] The adjustment module 1540 is used to adjust the shape of the convex polygon based on the target key point set and the preset polygon constraint conditions to obtain a reference concave polygon for representing the road surface area to be avoided.

[0190] The second determining module 1550 is used to determine the passable area of ​​the vehicle based on a reference concave polygon, so as to control the driving state of the vehicle based on the passable area.

[0191] In some optional examples, such as Figure 16 As shown, the first determining module 1520 includes:

[0192] The first determining submodule 1610 is used to determine the current set of key points of the road surface area to be avoided based on environmental data;

[0193] The acquisition submodule 1620 is used to acquire the set of boundary points of the historical concave polygon representing the road surface area to be avoided;

[0194] The second determination submodule 1630 is used to determine the target key point set based on the current key point set and the boundary point set.

[0195] In some optional examples, the second determining submodule 1630 includes:

[0196] The first determining unit is used to determine a first key point subset from the current key point set; wherein the first key point subset matches the first boundary point subset in the boundary point set;

[0197] The second determining unit is used to determine a second boundary point subset from the boundary point set; wherein the second boundary point subset includes: boundary points located outside the first boundary point subset and satisfying preset time constraints with the current key point set;

[0198] Add a unit to add the second boundary point subset to the current key point set to obtain the target key point set.

[0199] In some optional examples, such as Figure 17 As shown, the adjustment module 1540 includes:

[0200] The third determining submodule 1710 is used to determine the target edge from the edges used to form the convex polygon;

[0201] The fourth determination submodule 1720 is used to determine the second key point subset in the target key point set, excluding the two key points that are the two endpoints of the target edge;

[0202] The fifth determination submodule 1730 is used to determine the target key points that are adapted to the target edge from the second key point subset based on the preset polygon constraint conditions.

[0203] The first replacement submodule 1740 is used to replace the target edge with the first edge and the second edge to adjust the shape of the convex polygon; wherein the first edge, the second edge and the target edge form a triangle, and the target key point serves as the common endpoint of the first edge and the second edge.

[0204] In some optional examples, such as Figure 18 As shown, the fifth determining submodule 1730 includes:

[0205] The third determining unit 1810 is used to determine the target line where the target edge is located;

[0206] The fourth determining unit 1820 is used to determine the projection position of each key point in the second key point subset on the target line;

[0207] The fifth determining unit 1830 is used to determine, from the second key point subset, a third key point subset whose projected position is located between the two endpoints of the target edge;

[0208] The sixth determining unit 1840 is used to determine the target key points that are adapted to the target edge from the third key point subset based on the preset polygon constraint conditions.

[0209] In some optional examples, the sixth determining unit 1840 includes:

[0210] The first determining subunit is used to determine the key point to be inserted from the third key point subset;

[0211] The second determining subunit is used to determine whether the convex polygon after shape adjustment satisfies the preset polygon constraint conditions when the target edge is replaced with the third and fourth edges to adjust the shape of the convex polygon; wherein the third edge, the fourth edge and the target edge form a triangle, and the key point to be inserted is used as the common endpoint of the third edge and the fourth edge.

[0212] The third determining sub-unit is used to determine the target key points that are adapted to the target edge based on the key points to be inserted, in response to the convex polygon after shape adjustment satisfying the preset polygon constraint conditions.

[0213] In some optional examples, the second determining sub-unit is used to determine whether a fifth and sixth side exist in the convex polygon after shape adjustment when the target side is replaced with the third and fourth sides to adjust the shape of the convex polygon; wherein the fifth and sixth sides are continuous sides in the convex polygon after shape adjustment, and the key point to be inserted is used as the common endpoint of the third, fourth, fifth, and sixth sides; in response to the existence of the fifth and sixth sides in the convex polygon after shape adjustment, the third and fourth sides are extended to divide the coordinate system of the convex polygon after shape adjustment into two sub-regions through the boundary line where the third and fourth sides are distributed; based on the distribution information of the fifth and sixth sides relative to the two sub-regions, the kinking state of the third, fourth, fifth, and sixth sides is determined; based on the kinking state, it is determined whether the convex polygon after shape adjustment satisfies the preset polygon constraint conditions.

[0214] In some optional examples, in response to the target keypoint set being obtained by adding a second boundary point subset to the current keypoint set, a third determining subunit is used to add the second boundary point subset to the first keypoint subset to update the first keypoint subset; in response to the keypoint to be inserted being located in the updated first keypoint subset, the keypoint to be inserted is designated as the target keypoint adapted to the target edge; in response to the keypoint to be inserted being located outside the updated first keypoint subset, the angles between the third and fourth edges and the target edge are determined; in response to the angles corresponding to the third and fourth edges being less than or equal to a preset angle, the keypoint to be inserted is designated as the target keypoint adapted to the target edge.

[0215] In some optional examples, the first determining subunit is used to determine the perpendicular distance between each key point in the third key point subset and the target edge; determine the size relationship between the perpendicular distances corresponding to each key point in the third key point subset; and determine the key point to be inserted from the third key point subset based on the size relationship.

[0216] In some optional examples, the third determining submodule 1710 includes:

[0217] The seventh determining unit is used to determine the numerical relationship between the side lengths of each side used to form the convex polygon and the preset lengths;

[0218] The eighth determining unit is used to determine the target edge from the edges used to form the convex polygon based on numerical relationships.

[0219] In some optional examples, such as Figure 19 As shown, the second determining module 1550 includes:

[0220] The sixth determining submodule 1910 is used to determine the seventh side, the eighth side, the ninth side, and the tenth side from the reference concave polygon; wherein the seventh side and the eighth side are consecutive sides in the reference concave polygon, the ninth side and the tenth side are consecutive sides in the reference concave polygon, and the seventh side, the eighth side, the ninth side, and the tenth side have a target common endpoint.

[0221] The seventh determination submodule 1920 is used to determine the dividing line used to divide the included angle between the seventh and eighth sides;

[0222] The eighth determination submodule 1930 is used to determine sampling points at a preset distance from the target common endpoint on the dividing line;

[0223] The second replacement submodule 1940 is used to replace the target common endpoints on the seventh and eighth sides with sampling points to update the reference concave polygon and obtain the target concave polygon.

[0224] The ninth determination submodule 1950 is used to determine the passable area of ​​the vehicle based on the target concave polygon.

[0225] In the apparatus disclosed herein, the various optional embodiments, optional implementation methods and optional examples disclosed above can be flexibly selected and combined as needed to achieve the corresponding functions and effects, and this disclosure does not list them all.

[0226] Exemplary electronic devices

[0227] Figure 20 The illustration shows a block diagram of an electronic device according to an embodiment of the present disclosure. The electronic device 2000 includes one or more processors 2010 and memory 2020.

[0228] The processor 2010 may be a central processing unit (CPU) or other form of processing unit with data processing and / or instruction execution capabilities, and may control other components in the electronic device 2000 to perform desired functions.

[0229] The memory 2020 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 2010 may execute one or more computer program instructions to implement the methods of the various embodiments of this disclosure described above and / or other desired functions.

[0230] In one example, the electronic device 2000 may also include an input device 2030 and an output device 2040, which are interconnected via a bus system and / or other forms of connection mechanism (not shown).

[0231] The input device 2030 may also include, for example, a keyboard, a mouse, etc.

[0232] The output device 2040 can output various information to the outside, including, for example, a display, a speaker, a printer, and a communication network and its connected remote output devices, etc.

[0233] Of course, for the sake of simplicity, Figure 20 Only some of the components of the electronic device 2000 relevant to this disclosure are shown, omitting components such as buses, input / output interfaces, etc. In addition, the electronic device 2000 may include any other suitable components depending on the specific application.

[0234] Exemplary computer program products and computer-readable storage media

[0235] In addition to the methods and apparatus described above, embodiments of this disclosure may also be computer program products comprising computer program instructions that, when executed by a processor, cause the processor to perform the steps in the methods according to various embodiments of this disclosure as described in the "Exemplary Methods" section of this specification.

[0236] Computer program products can be written in any combination of one or more programming languages ​​to perform the operations of embodiments of this disclosure. These programming languages ​​include object-oriented programming languages ​​such as Java and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on a user's computing device, partially on a user's computing device, as a standalone software package, partially on a user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0237] Furthermore, embodiments of this disclosure may also be computer-readable storage media having computer program instructions stored thereon, which, when executed by a processor, cause the processor to perform the steps in the methods according to various embodiments of this disclosure described in the "Exemplary Methods" section above.

[0238] The computer-readable storage medium may be any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may, for example, include, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0239] The basic principles of this disclosure have been described above with reference to specific embodiments. However, the advantages, benefits, and effects mentioned in this disclosure are merely examples and not limitations, and should not be considered as essential features of each embodiment of this disclosure. The specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of this disclosure to the necessity of employing the specific details described above.

[0240] Various modifications and variations can be made to this disclosure without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this disclosure and their equivalents, this disclosure is also intended to include such modifications and variations.

Claims

1. A method for sensing road passability areas, comprising: Acquire environmental data collected by sensors on the vehicle; Based on the environmental data, a set of target key points in the road surface area to be avoided in the vehicle's external environment is determined. Using the set of target key points, a convex polygon is generated to represent the road surface area to be avoided; Based on the target key point set and the preset polygon constraints, the shape of the convex polygon is adjusted to obtain a reference concave polygon used to represent the road surface area to be avoided; Based on the reference concave polygon, the passable area of ​​the vehicle is determined so that the driving state of the vehicle can be controlled based on the passable area.

2. The method according to claim 1, wherein, The step of determining the set of target key points in the road surface area to be avoided in the vehicle's external environment based on the environmental data includes: Based on the environmental data, determine the current set of key points for the area of ​​road surface to be avoided; Obtain the set of boundary points of the historical concave polygon representing the road surface area to be avoided; Based on the current set of key points and the set of boundary points, the target set of key points is determined.

3. The method according to claim 2, wherein, Determining the target key point set based on the current key point set and the boundary point set includes: From the current set of key points, a first subset of key points is determined; wherein the first subset of key points matches the first subset of boundary points in the set of boundary points; From the set of boundary points, a second subset of boundary points is determined; wherein, the second subset of boundary points includes: boundary points located outside the first subset of boundary points and satisfying a preset time constraint condition with the current set of key points; The second set of boundary points is added to the current set of key points to obtain the target set of key points.

4. The method according to any one of claims 1-3, wherein, The step of adjusting the shape of the convex polygon based on the target key point set and preset polygon constraints includes: Determine the target edge from the edges that constitute the convex polygon; Determine a second subset of key points in the target key point set, excluding the two key points that serve as the two endpoints of the target edge; Based on preset polygon constraints, target key points that fit the target edge are determined from the second subset of key points. The target edge is replaced with a first edge and a second edge to adjust the shape of the convex polygon; wherein the first edge, the second edge and the target edge form a triangle, and the target key point serves as the common endpoint of the first edge and the second edge.

5. The method according to claim 4, wherein, The step of determining the target key points that fit the target edge from the second subset of key points based on preset polygon constraints includes: Determine the target line containing the target edge; Determine the projection position of each key point in the second key point subset on the target line; From the second subset of key points, determine a third subset of key points where the projected position is located between the two endpoints of the target edge; Based on preset polygon constraints, target key points that fit the target edge are determined from the third key point subset.

6. The method according to claim 5, wherein, The step of determining the target key points that fit the target edge from the third key point subset based on preset polygon constraints includes: From the third subset of key points, determine the key points to be inserted; Determine whether the convex polygon after shape adjustment satisfies the preset polygon constraint conditions when the target edge is replaced with the third and fourth edges to adjust the shape of the convex polygon; wherein the third edge, the fourth edge and the target edge form a triangle, and the key point to be inserted is the common endpoint of the third edge and the fourth edge; In response to the convex polygon satisfying the preset polygon constraint conditions after shape adjustment, a target key point that matches the target edge is determined based on the key point to be inserted.

7. The method according to claim 6, wherein, The step of determining whether the convex polygon, after shape adjustment, satisfies the preset polygon constraint conditions when the target edge is replaced with the third and fourth edges to adjust the shape of the convex polygon includes: Determine whether a fifth and sixth edge exist in the convex polygon after shape adjustment when the target edge is replaced with the third and fourth edges to adjust the shape of the convex polygon; wherein the fifth and sixth edges are continuous edges in the convex polygon after shape adjustment, and the key point to be inserted is the common endpoint of the third, fourth, fifth, and sixth edges; In response to the presence of the fifth and sixth sides in the convex polygon after shape adjustment, the third and fourth sides are extended to divide the coordinate system of the convex polygon after shape adjustment into two sub-regions through the dividing line where the third and fourth sides are distributed; Based on the distribution information of the fifth and sixth sides relative to the two sub-regions, the kinking state of the third, fourth, fifth, and sixth sides is determined; Based on the kink state, it is determined whether the convex polygon after shape adjustment satisfies the preset polygon constraint conditions.

8. The method according to claim 6, wherein, In response to the target keypoint set being obtained by adding the second boundary point subset to the current keypoint set, determining the target keypoints adapted to the target edge based on the keypoints to be inserted includes: Add the second set of boundary points to the first set of key points to update the first set of key points; In response to the fact that the key point to be inserted is located in the updated first key point subset, the key point to be inserted is used as the target key point to be adapted to the target edge; In response to the key point to be inserted being located outside the updated first key point subset, the included angles between the third side and the fourth side and the target side are determined; in response to the included angles corresponding to the third side and the fourth side being less than or equal to a preset angle, the key point to be inserted is designated as a target key point adapted to the target side.

9. The method according to claim 6, wherein, The step of determining the key point to be inserted from the third subset of key points includes: Determine the vertical distance between each key point in the third key point subset and the target edge; Determine the magnitude relationship between the vertical distances corresponding to each key point in the third key point subset; Based on the size relationship, the key points to be inserted are determined from the third key point subset.

10. The method according to claim 4, wherein, Determining the target edge from the edges that constitute the convex polygon includes: Determine the numerical relationship between the side lengths of each side used to form the convex polygon and a preset length; Based on the numerical relationship, the target edge is determined from the edges that constitute the convex polygon.

11. The method according to any one of claims 1-3, wherein, Determining the passable area of ​​the vehicle based on the reference concave polygon includes: From the reference concave polygon, determine the seventh side, the eighth side, the ninth side, and the tenth side; wherein the seventh side and the eighth side are consecutive sides in the reference concave polygon, the ninth side and the tenth side are consecutive sides in the reference concave polygon, and the seventh side, the eighth side, the ninth side, and the tenth side have a target common endpoint; Determine the dividing line used to divide the included angle between the seventh side and the eighth side; Sampling points are determined along the dividing line at a predetermined distance from the target common endpoint; The target common endpoints on the seventh and eighth sides are replaced with the sampling points to update the reference concave polygon, thus obtaining the target concave polygon; Based on the target concave polygon, the passable area of ​​the vehicle is determined.

12. A road passability area sensing device, comprising: The acquisition module is used to acquire environmental data collected by sensors on the vehicle. The first determining module is used to determine the set of target key points of the road surface area to be avoided in the external environment of the vehicle based on the environmental data. The generation module is used to generate a convex polygon representing the road surface area to be avoided using the target key point set; The adjustment module is used to adjust the shape of the convex polygon based on the target key point set and preset polygon constraints to obtain a reference concave polygon for representing the road surface area to be avoided. The second determining module is used to determine the passable area of ​​the vehicle based on the reference concave polygon, so as to control the driving state of the vehicle based on the passable area.

13. An electronic device, the electronic device comprising: processor; Memory used to store the processor's executable instructions; The processor is configured to read the executable instructions from the memory and execute the instructions to implement the road passability area perception method according to any one of claims 1-11.

14. A computer-readable storage medium storing a computer program for performing the road passability area sensing method according to any one of claims 1-11.

15. A computer program product comprising computer program instructions that, when executed by a processor, implement the road passability area perception method as described in any one of claims 1-11.