Vehicle and local obstacle avoidance method and device thereof
By offline calculating the correspondence between the path set and the sensor sampling points and the obstructed path, the local obstacle avoidance path planning of the unmanned vehicle is optimized, which solves the problem of insufficient obstacle avoidance flexibility in complex environments and improves the real-time performance and flexibility of the system.
Patent Information
- Application Number
- CN202510548806.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-28
- Publication Date
- 2025-09-12
AI Technical Summary
The existing technology for local obstacle avoidance path planning of unmanned vehicles in complex environments has the problem of insufficient flexibility and difficulty in reaching the target point.
An offline method is used to calculate the correspondence between the path set and the vehicle sensor sampling points and the obscured path. The temporary target point is determined by presetting the starting point, end point and global grid map. The path planning is optimized by combining point cloud data and evaluation function to reduce the burden on the vehicle's online planning module.
It significantly improves the real-time operation and flexibility of the unmanned vehicle system, reduces computing power consumption, and enhances obstacle avoidance performance in narrow channels and dynamic scenes.
Smart Images

Figure CN120630972A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of vehicle technology, and in particular to a local obstacle avoidance method for a vehicle, a local obstacle avoidance device for a vehicle, and a vehicle. Background Art
[0002] With the rapid development of intelligent technology, unmanned vehicles are increasingly being used in security inspections, logistics distribution, sanitation, and plant protection. Path planning, a core function for autonomous navigation of unmanned vehicles, aims to generate a smooth and safe path connecting the starting and ending points while satisfying the vehicle's kinematic constraints. However, faced with complex and ever-changing mission scenarios, efficiently planning the optimal obstacle avoidance path remains a key challenge in the field of robotics. Related technologies typically use the dynamic window method for local obstacle avoidance, but this can result in insufficient obstacle avoidance flexibility in complex environments, making it difficult to reach the target point. Summary of the Invention
[0003] The present application aims to at least partially solve one of the technical problems in the related art. To this end, the first object of the present application is to propose a local obstacle avoidance method for a vehicle, the method comprising: obtaining offline data, a preset starting point, a preset ending point, and a global grid map of the environment, the offline data including a path set and a correspondence between vehicle sensor sampling points and obstructed paths; determining multiple temporary target points of the global path based on the preset starting point, the preset ending point, the global grid map of the environment, and a preset path planning algorithm; controlling vehicle motion based on the temporary target points, and obtaining point cloud data for vehicle obstacle avoidance; determining a subset of valid execution layer paths for the current temporary target point based on the path set, the point cloud data for vehicle obstacle avoidance, and the correspondence between the vehicle sensor sampling points and the obstructed paths; determining a target execution layer path for the current temporary target point based on the valid execution layer path subset and a preset evaluation function; and controlling the vehicle to reach the current temporary target point based on the target execution layer path until the vehicle reaches the preset ending point. The local obstacle avoidance method of the present application calculates offline data such as the path set and the correspondence between the vehicle sensor sampling points and the obstructed paths in an offline manner, and the vehicle's online planning module can directly read the offline data for local obstacle avoidance path planning. In this way, the burden on the vehicle's online planning module can be effectively reduced, the computing power consumption of unmanned vehicles can be reduced, and the real-time and flexibility of the system operation can be significantly improved.
[0004] The second objective of this application is to provide a local obstacle avoidance device for a vehicle.
[0005] The third object of this application is to provide a vehicle.
[0006] To achieve the above-mentioned purpose, the first embodiment of the present application proposes a local obstacle avoidance method for a vehicle, the method comprising: obtaining offline data, a preset starting point, a preset end point and an environmental global grid map, the offline data including a path set and a correspondence between the vehicle sensor sampling points and the obscured path; determining multiple temporary target points of the global path based on the preset starting point, the preset end point, the environmental global grid map and the preset path planning algorithm; controlling the vehicle movement based on the temporary target points, and obtaining point cloud data of the vehicle obstacle avoidance, determining a valid execution layer path subset of the current temporary target point based on the path set, the vehicle obstacle avoidance point cloud data and the correspondence between the vehicle sensor sampling points and the obscured path; determining a target execution layer path of the current temporary target point based on the valid execution layer path subset and the preset evaluation function; controlling the vehicle to reach the current temporary target point according to the target execution layer path until the vehicle reaches the preset end point.
[0007] According to one embodiment of the present application, controlling the vehicle to reach the current temporary target point according to the target execution layer path includes: obtaining the angular velocity and linear velocity corresponding to the target execution layer path; and controlling the vehicle to reach the current temporary target point according to the angular velocity and linear velocity.
[0008] According to one embodiment of the present application, the target execution layer path of the current temporary target point is determined based on the valid execution layer path subset and the preset evaluation function, including: obtaining the angular velocity and linear velocity corresponding to each valid execution layer path in the valid execution layer path subset; determining the score value of each valid execution layer path based on the preset evaluation function and the angular velocity and linear velocity corresponding to each valid execution layer path; and taking the valid execution layer path corresponding to the maximum score value as the target execution layer path of the current temporary target point.
[0009] According to one embodiment of the present application, the preset evaluation function includes:
[0010] G(v ref ,w s )=σ(a·head(v ref ,w s )+β·dist(v ref ,w s )+ρ·change(v ref ,w s )+γ·obs(v ref ,w s ))
[0011]
[0012] Among them, w s Indicates the angular velocity corresponding to the effective execution layer path; v ref Indicates the linear velocity corresponding to the effective execution layer path; G(vref ,w s ) represents the score value; head(v ref ,w s ) represents the heading angle deviation between the end point of the effective execution layer path and the current temporary target point; dist(v ref ,w s ) represents the distance between the end point of the effective execution layer path and the global path; change(v ref ,w s ) represents the change in the vehicle's angular velocity control amount; obs(v ref ,w s ) represents the collision-free probability of the effective execution layer path; α, β, γ, and ρ represent weight coefficients; σ represents the smoothing coefficient; n represents the number of unobstructed prediction layer paths starting from the end point of the effective execution layer path; 2k+1 represents the number of execution layer paths in the path set.
[0013] According to one embodiment of the present application, a path set includes an execution layer path set and multiple prediction layer path sets with each execution layer path end point as a starting point, the execution layer path set includes a valid execution layer path subset and an invalid execution layer path subset, and the valid execution layer path subset of the current temporary target point is determined according to the path set, the point cloud data of the vehicle obstacle avoidance, and the correspondence between the vehicle sensor sampling points and the obscured path, including: determining the target vehicle sensor sampling point according to the point cloud data of the vehicle obstacle avoidance; determining the invalid execution layer path subset according to the target vehicle sensor sampling point and the correspondence between the vehicle sensor sampling point and the obscured path, wherein the invalid execution layer path subset includes the execution layer path obscured by the target vehicle sensor sampling point, and the execution layer path in which each prediction layer path in the prediction layer path set with the execution layer path end point as the starting point is obscured by the target vehicle sensor sampling point; and determining the valid execution layer path subset of the current temporary target point according to the execution layer path set and the invalid execution layer path subset.
[0014] According to one embodiment of the present application, obtaining the correspondence between vehicle sensor sampling points and obscured paths includes: obtaining a set of vehicle sensor sampling points; determining a circular area with each vehicle sensor sampling point in the set of vehicle sensor sampling points as the center of the circle and the radius of the vehicle circular bounding box as the radius, and taking the execution layer path and the prediction layer path intersecting with the circular area as the obscured path corresponding to each vehicle sensor sampling point; and determining the correspondence between the vehicle sensor sampling point and the obscured path based on the obscured path corresponding to each vehicle sensor sampling point.
[0015] According to one embodiment of the present application, obtaining a vehicle sensor sampling point set includes:
[0016]
[0017] Among them, x max Indicates the maximum horizontal coordinate of the vehicle sensor coverage; y max Indicates the maximum vertical coordinate of the vehicle sensor coverage range; R represents the radius of the vehicle's circular bounding box; d represents the sampling grid resolution; indx represents the horizontal coordinate grid index, and the horizontal coordinate grid index increases along the negative direction of the horizontal axis; indy represents the vertical coordinate grid index, and the vertical coordinate grid index increases along the negative direction of the vertical axis; x represents the horizontal coordinate of the vehicle sensor sampling point; y represents the vertical coordinate of the vehicle sensor sampling point.
[0018] According to one embodiment of the present application, obtaining a path set includes: obtaining an initial posture of the vehicle, an angular velocity set, and a linear velocity; and determining the path set based on the initial posture of the vehicle, each angular velocity and linear velocity in the angular velocity set, and a preset vehicle kinematic model.
[0019] To achieve the above-mentioned purpose, the second embodiment of the present application proposes a local obstacle avoidance device for a vehicle, which includes: an acquisition module for acquiring offline data, a preset starting point, a preset end point and an environmental global grid map, the offline data including a path set and a correspondence between the vehicle sensor sampling points and the obscured path; a first determination module for determining multiple temporary target points of the global path based on the preset starting point, the preset end point, the environmental global grid map and the preset path planning algorithm; a second determination module for controlling the vehicle movement based on the temporary target points, and acquiring point cloud data of the vehicle obstacle avoidance, and determining a valid execution layer path subset of the current temporary target point based on the path set, the point cloud data of the vehicle obstacle avoidance and the correspondence between the vehicle sensor sampling points and the obscured path; a third determination module for determining a target execution layer path of the current temporary target point based on the valid execution layer path subset and a preset evaluation function; a control module for controlling the vehicle to reach the current temporary target point according to the target execution layer path until the vehicle reaches the preset end point.
[0020] To achieve the above-mentioned purpose, the third aspect embodiment of the present application proposes a vehicle, including a memory, a processor, and a local obstacle avoidance program of the vehicle stored in the memory and runnable on the processor. When the processor executes the local obstacle avoidance program of the vehicle, the aforementioned local obstacle avoidance method of the vehicle is implemented.
[0021] According to the vehicle and its local obstacle avoidance method and device of the embodiment of the present application, offline data, a preset starting point, a preset ending point and a global grid map of the environment are obtained, and the offline data includes a path set and a correspondence between the vehicle sensor sampling points and the obscured path; multiple temporary target points of the global path are determined based on the preset starting point, the preset ending point, the global grid map of the environment and the preset path planning algorithm; the vehicle movement is controlled based on the temporary target points, and the point cloud data of the vehicle obstacle avoidance is obtained, and the effective execution layer path subset of the current temporary target point is determined based on the path set, the point cloud data of the vehicle obstacle avoidance and the correspondence between the vehicle sensor sampling points and the obscured path; the target execution layer path of the current temporary target point is determined based on the effective execution layer path subset and the preset evaluation function; the vehicle is controlled to reach the current temporary target point based on the target execution layer path until the vehicle reaches the preset ending point. The local obstacle avoidance method of the present application uses an offline method to calculate offline data such as the path set and the correspondence between the vehicle sensor sampling points and the obscured path, and the vehicle online planning module can directly read the offline data for local obstacle avoidance path planning. In this way, the burden on the vehicle's online planning module can be effectively reduced, the computing power consumption of unmanned vehicles can be reduced, and the real-time and flexibility of the system operation can be significantly improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 is a flowchart of a local obstacle avoidance method for a vehicle according to some embodiments of the present application;
[0023] Figure 2 is a schematic diagram of a path set according to some embodiments of the present application;
[0024] Figure 3 is a schematic diagram of vehicle sensor coverage according to some embodiments of the present application;
[0025] Figure 4 is a flowchart of a local obstacle avoidance method for a vehicle according to other embodiments of the present application;
[0026] Figure 5 is a block diagram of a local obstacle avoidance device for a vehicle according to some embodiments of the present application;
[0027] Figure 6 It is a block diagram of a vehicle according to some embodiments of the present application. DETAILED DESCRIPTION
[0028] The following describes in detail embodiments of the present application, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.
[0029] The vehicle and its local obstacle avoidance method and device according to the embodiments of the present application are described in detail below with reference to the accompanying drawings.
[0030] Figure 1 Flowchart of a local obstacle avoidance method for a vehicle according to some embodiments of the present application. Figure 1 The local obstacle avoidance method for a vehicle in an embodiment of the present application may include the following steps:
[0031] S110 , acquiring offline data, a preset starting point, a preset ending point, and a global grid map of the environment, wherein the offline data includes a path set and a correspondence between vehicle sensor sampling points and blocked paths.
[0032] Specifically, the system calculates the path set and the sampling points within the vehicle's sensor coverage area offline. Based on the path set and the sampling points within the vehicle's sensor coverage area, the corresponding relationship between the vehicle's sensor sampling points and the obscured path is determined. This relationship is then stored in a preset storage location. When the vehicle enters autonomous driving mode, it can directly read the path set and the corresponding relationship between the vehicle's sensor sampling points and the obscured path, set the vehicle's preset starting and ending points, and load the global grid of the environment for path planning.
[0033] S120 , determining a plurality of temporary target points of the global path according to a preset starting point, a preset ending point, a global grid map of the environment, and a preset path planning algorithm.
[0034] Specifically, a preset path planning algorithm (such as A* algorithm planning) is used based on the global grid map of the environment to plan the global shortest path between the preset starting point and the preset end point; then, the Floyd path smoothing algorithm is used to eliminate adjacent collinear points and redundant inflection points in the global shortest path. The turning points of the optimized global path are multiple temporary target points of the global path.
[0035] S130, controlling the vehicle movement based on the temporary target point, and obtaining the point cloud data of the vehicle obstacle avoidance, and determining the effective execution layer path subset of the current temporary target point according to the path set, the point cloud data of the vehicle obstacle avoidance, and the correspondence between the vehicle sensor sampling points and the blocked path.
[0036] Specifically, the vehicle will move along the global path toward the temporary target point, and during the movement, the vehicle sensor (such as a lidar) will be used to obtain the point cloud data of the vehicle's obstacle avoidance (i.e., the point cloud data of the obstacle). The point cloud data of the vehicle's obstacle avoidance and the path set will be uniformly transferred to the vehicle's body coordinate system to determine the vehicle sensor sampling point where the obstacle is located. The execution layer path obscured by the obstacle is determined by querying the two-dimensional mapping table between the vehicle sensor sampling point and the obscured path, wherein the two-dimensional mapping table includes multiple vehicle sensor sampling points and the obscured path corresponding to each vehicle sensor sampling point. The execution layer path obscured by the obstacle is eliminated, and the remaining execution layer path is the valid execution layer path subset of the current temporary target point.
[0037] S140 , determining a target execution layer path of the current temporary target point according to the valid execution layer path subset and a preset evaluation function.
[0038] Specifically, a preset evaluation function is used to score each valid execution layer path in the valid execution layer path subset to obtain a corresponding scoring value, and the target execution layer path is determined based on the scoring value. For example, the valid execution layer path corresponding to the maximum scoring value is used as the target execution layer path.
[0039] S150, controlling the vehicle to reach the current temporary target point according to the target execution layer path until the vehicle reaches the preset end point.
[0040] Specifically, when the vehicle moves from the previous temporary target point to the current temporary target point, control instructions are issued according to the target execution layer path. After the vehicle reaches the current temporary target point, the vehicle is continued to be controlled to move to the next temporary target point until the vehicle reaches the preset end point.
[0041] It should be noted that after controlling the vehicle to move along the target execution layer path to the end point of the target execution layer path, it is necessary to determine whether the end point of the target execution layer path is within the current temporary target point threshold range. If the end point of the target execution layer path is within the current temporary target point threshold range, then the vehicle is controlled to move along the target execution layer path to the end point of the target execution layer path and is considered to have reached the current temporary target point. If the end point of the target execution layer path is not within the current temporary target point threshold range and cannot reach the current temporary target point, it is necessary to obtain offline data again, obtain the target execution layer path again according to the above method, and control the vehicle to move along the target execution layer path until the vehicle reaches the current temporary target point. Among them, the current temporary target point threshold range can be calibrated according to actual conditions, and no specific restrictions are made here.
[0042] The local obstacle avoidance method in this application uses offline data, such as the path set and the correspondence between the vehicle's sensor sampling points and the obstructed path, to be calculated. The vehicle's online planning module can directly read this offline data to perform local obstacle avoidance path planning. This effectively reduces the burden on the vehicle's online planning module, reduces the computing power consumption of the autonomous vehicle, and significantly improves the real-time operation and flexibility of the system.
[0043] In some embodiments, controlling the vehicle to reach the current temporary target point according to the target execution layer path includes: obtaining the angular velocity and linear velocity corresponding to the target execution layer path; and controlling the vehicle to reach the current temporary target point according to the angular velocity and linear velocity.
[0044] Specifically, after determining the target execution layer path, the angular velocity and linear velocity corresponding to the target execution layer path are obtained, and the vehicle movement is controlled to reach the current temporary target point according to the angular velocity and linear velocity. The angular velocity and linear velocity corresponding to the target execution layer path can be determined by querying a two-dimensional mapping table between the execution layer path and the angular velocity and linear velocity. The two-dimensional mapping table includes multiple execution layer paths and the angular velocity and linear velocity corresponding to each execution layer path.
[0045] In some embodiments, the target execution layer path of the current temporary target point is determined based on the valid execution layer path subset and a preset evaluation function, including: obtaining the angular velocity and linear velocity corresponding to each valid execution layer path in the valid execution layer path subset; determining the score value of each valid execution layer path based on the preset evaluation function and the angular velocity and linear velocity corresponding to each valid execution layer path; and taking the valid execution layer path corresponding to the maximum score value as the target execution layer path of the current temporary target point.
[0046] Specifically, the angular velocity and linear velocity corresponding to each valid execution layer path can also be determined by querying a two-dimensional mapping table between the execution layer path and the angular velocity and linear velocity. Then, the angular velocity and linear velocity corresponding to each valid execution layer path, as well as the number of unobstructed prediction layer paths starting from the end point of each valid execution layer path, are input into the following preset evaluation function to determine the score value of each valid execution layer path:
[0047] G(v ref ,w s )=σ(a·head(v ref ,w s )+β·dist(v ref ,w s )+ρ·change(v ref ,w s )+γ·obs(v ref ,w s ))
[0048]
[0049] Among them, w s Indicates the angular velocity corresponding to the effective execution layer path; v ref Indicates the linear velocity corresponding to the effective execution layer path; G(v ref ,w s ) represents the score value; head(v ref ,w s ) represents the heading angle deviation between the end point of the effective execution layer path and the current temporary target point; dist(v ref ,w s ) represents the distance between the end point of the effective execution layer path and the global path; change(v ref ,w s ) represents the change in the vehicle's angular velocity control amount; obs(v ref ,w s ) represents the collision-free probability of the effective execution layer path; α, β, γ, and ρ represent weight coefficients; σ represents the smoothing coefficient; n represents the number of unobstructed prediction layer paths starting from the end point of the effective execution layer path; and 2k+1 represents the number of execution layer paths in the path set. α, β, γ, ρ, and σ can be determined based on actual conditions and are not specifically limited here.
[0050] After determining the score value of each valid execution layer path, the score values are arranged in descending order, and the valid execution layer path corresponding to the maximum score value is used as the target execution layer path of the current temporary target point.
[0051] In this way, the collision-free probability of the effective execution layer path is added as an evaluation item to the preset evaluation function, and the preset evaluation function is used to screen out the target execution layer path in the path set. The heading angle deviation, global path proximity, angular velocity change and collision situation of the execution layer path are comprehensively considered, which broadens the range of feasible path solutions and enhances the unmanned vehicle's ability to cross narrow channels and its obstacle avoidance performance in dynamic scenes.
[0052] In some embodiments, the path set includes an execution layer path set and multiple prediction layer path sets with each execution layer path end point as a starting point, the execution layer path set includes a valid execution layer path subset and an invalid execution layer path subset, and the valid execution layer path subset of the current temporary target point is determined according to the path set, the point cloud data of the vehicle obstacle avoidance, and the correspondence between the vehicle sensor sampling points and the obscured path, including: determining the target vehicle sensor sampling point according to the point cloud data of the vehicle obstacle avoidance; determining the invalid execution layer path subset according to the target vehicle sensor sampling point and the correspondence between the vehicle sensor sampling point and the obscured path, wherein the invalid execution layer path subset includes the execution layer path obscured by the target vehicle sensor sampling point, and the execution layer path in which each prediction layer path in the prediction layer path set with the execution layer path end point as the starting point is obscured by the target vehicle sensor sampling point; and determining the valid execution layer path subset of the current temporary target point according to the execution layer path set and the invalid execution layer path subset.
[0053] Specifically, the vehicle will use a depth sensor to detect the local environment and return point cloud frames in real time while moving along the global path toward the temporary target point. After the current frame point cloud is filtered through a straight-through filter and a radius filter to remove outliers, the point cloud data of the previous frames are fused to obtain the point cloud data of the vehicle obstacle avoidance within a given threshold range from the vehicle (the point cloud data of the obstacle). The point cloud data of the vehicle obstacle avoidance and the path set are uniformly transferred to the vehicle body coordinate system to determine the vehicle sensor sampling point where the obstacle is located, that is, to determine the target vehicle sensor sampling point; then, by querying a two-dimensional mapping table of vehicle sensor sampling points and obscured paths, the execution layer path obscured by the obstacle, that is, the invalid execution layer path subset, is determined. The two-dimensional mapping table includes multiple vehicle sensor sampling points and the obscured paths corresponding to each vehicle sensor sampling point. It should be noted that the path obscured by the obstacle can include the obscured execution layer path and the obscured prediction layer path. If the prediction layer path starting from the end point of the execution layer path is completely obscured by obstacles, it means that the vehicle will not be able to continue moving after moving along the execution layer path to the end point of the execution layer path. Therefore, the execution layer paths that are blocked by obstacles and the execution layer paths in which all predicted layer paths starting from the end point of the execution layer path are blocked by obstacles are regarded as invalid execution layer path subsets; finally, the invalid execution layer path subsets in the execution layer path set are eliminated, and the remaining execution layer paths are the valid execution layer path subsets of the current temporary target point.
[0054] For example, refer to Figure 2, the execution layer path set includes execution layer path 0, execution layer path 1, execution layer path 2, execution layer path 3 and execution layer path 4, the prediction layer path set with the end point of execution layer path 0 as the starting point includes prediction layer path 0, prediction layer path 1, prediction layer path 2, prediction layer path 3 and prediction layer path 4, the prediction layer path set with the end point of execution layer path 1 as the starting point includes prediction layer path 5, prediction layer path 6, prediction layer path 7, prediction layer path 8 and prediction layer path 9, the prediction layer path set with the end point of execution layer path 2 as the starting point includes prediction layer path 10, prediction layer path 11, prediction layer path 12, prediction layer path 13 and prediction layer path 14, the prediction layer path set with the end point of execution layer path 3 as the starting point includes prediction layer path 15, prediction layer path 16, prediction layer path 17, prediction layer path 18 and prediction layer path 19, and the prediction layer path set with the end point of execution layer path 4 as the starting point includes prediction layer path 20, prediction layer path 21, prediction layer path 22, prediction layer path 23 and prediction layer path 24.
[0055] Assume that, based on the correspondence between the target vehicle sensor sampling points and the vehicle sensor sampling points and the obstructed paths, it is determined that execution layer path 0, execution layer path 1, prediction layer path 15, prediction layer path 20, prediction layer path 21, prediction layer path 22, prediction layer path 23, and prediction layer path 24 are obstructed by obstacles. Analysis shows that all prediction layer paths in the prediction layer path set starting from the end point of execution layer path 4 are obstructed, while the prediction layer paths in the prediction layer path set starting from the end point of execution layer path 3 are not completely obstructed. Therefore, it can be determined that the invalid execution layer path subset includes execution layer path 0, execution layer path 1, and execution layer path 4. By eliminating the invalid execution layer path subsets in the execution layer path set, it can be determined that the valid execution layer path subset for the current temporary target point includes execution layer path 2 and execution layer path 3.
[0056] In some embodiments, obtaining the correspondence between vehicle sensor sampling points and obscured paths includes: obtaining a set of vehicle sensor sampling points; determining a circular area with each vehicle sensor sampling point in the set of vehicle sensor sampling points as the center of the circle and the radius of the vehicle circular bounding box as the radius, and taking the execution layer path and the prediction layer path that intersect with the circular area as the obscured path corresponding to each vehicle sensor sampling point; and determining the correspondence between the vehicle sensor sampling point and the obscured path based on the obscured path corresponding to each vehicle sensor sampling point.
[0057] Specifically, refer to Figure 3 The vehicle sensor coverage is a trapezoid that completely covers all paths in the path set (double-layer DWA path cluster). The index (indx, indy) of all grids within the sensor coverage is traversed, and the sampling point coordinates corresponding to the grid with index (indx, indy) are determined by the following formula:
[0058]
[0059] Among them, x max Indicates the maximum horizontal coordinate of the vehicle sensor coverage; y max Indicates the maximum vertical coordinate of the vehicle sensor coverage range; R represents the radius of the vehicle's circular bounding box; d represents the sampling grid resolution; indx represents the horizontal coordinate grid index, and the horizontal coordinate grid index increases along the negative direction of the horizontal axis; indy represents the vertical coordinate grid index, and the vertical coordinate grid index increases along the negative direction of the vertical axis; x represents the horizontal coordinate of the vehicle sensor sampling point; y represents the vertical coordinate of the vehicle sensor sampling point.
[0060] Then, a circular area is determined with each vehicle sensor sampling point in the vehicle sensor sampling point set as the center of the circle and the radius of the vehicle circular bounding box as the radius. The execution layer path and the prediction layer path intersecting with the circular area are used as the blocked path corresponding to each vehicle sensor sampling point. At the same time, the execution layer path and the prediction layer path index intersecting with the circular area are counted and stored to determine the corresponding relationship between the vehicle sensor sampling point and the blocked path. Based on the relationship, a two-dimensional mapping table between the vehicle sensor sampling point and the blocked path is established.
[0061] In some embodiments, obtaining a path set includes: obtaining an initial vehicle posture, an angular velocity set, and a linear velocity; and determining the path set based on the initial vehicle posture, each angular velocity and linear velocity in the angular velocity set, and a preset vehicle kinematic model.
[0062] Specifically, the initial posture of the vehicle includes the vehicle position and heading angle, wherein the vehicle position can be obtained through the global positioning system, for example, the longitude and latitude coordinates of the vehicle can be obtained using a GPS (Global Positioning System) receiver, and the longitude and latitude can be converted into the vehicle position in the local coordinate system through map matching or coordinate conversion. The heading angle can be obtained by a magnetometer or gyroscope, and the end point posture of the prediction layer path is the initial posture of the multiple prediction layer paths corresponding to the prediction layer path. The vehicle linear velocity can be a fixed preset reference velocity, and the vehicle angular velocity range is [-w max ,w max ], the vehicle angular velocity value range is sampled evenly in 2k+1 segments to obtain the angular velocity set:
[0063] The path set includes an execution-layer path set and multiple prediction-layer path sets starting from the endpoint of each execution-layer path. Each execution-layer path in the execution-layer path set and each prediction-layer path in the prediction-layer path set can be determined by the following formula based on the vehicle's initial posture, each angular velocity and linear velocity in the angular velocity set, and a preset vehicle kinematic model:
[0064]
[0065] Among them, x t The horizontal coordinate of the vehicle position; y t The vertical coordinate of the vehicle position; θ t Indicates the vehicle heading angle; v ref Indicates linear velocity, w s represents each angular velocity in the angular velocity set; Δt represents the time variable; x t+1 The horizontal coordinate of the vehicle position after Δt; y t+1 The ordinate of the vehicle position after Δt; θ t+1 Indicates the vehicle heading angle after Δt.
[0066] It should be noted that the execution layer path set includes 2k+1 execution layer paths, and the prediction layer path set corresponding to each execution layer path also includes 2k+1 prediction layer paths. In other words, the path set includes 2k+1 execution layer paths and (2k+1) 2 prediction layer paths.
[0067] As a specific example, see Figure 4 , an offline method is used to generate a path set and extract vehicle sensor range sampling points. The correspondence between the vehicle sensor sampling points and the obscured path is determined and stored based on the path set and the vehicle sensor range sampling points. During online path planning, the path set and the correspondence between the vehicle sensor sampling points and the obscured path can be directly read, effectively reducing the burden on the vehicle online planning module and the computing power consumption of the unmanned vehicle, significantly improving the real-time operation and flexibility of the system; by improving the DWA (Dynamic Window Approach) algorithm for online obstacle avoidance planning, the collision-free probability of the effective execution layer path is added as an evaluation item to the preset evaluation function, and the preset evaluation function is used to screen out the target execution layer path in the path set, which broadens the range of feasible path solutions and enhances the unmanned vehicle's ability to cross narrow channels and obstacle avoidance performance in dynamic scenes.
[0068] Corresponding to the above embodiments, the present application also proposes a local obstacle avoidance device for a vehicle.
[0069] Reference Figure 5 The local obstacle avoidance device 200 of a vehicle includes: an acquisition module 210 , a first determination module 220 , a second determination module 230 , a third determination module 240 and a control module 250 .
[0070] The acquisition module 210 is used to obtain offline data, a preset starting point, a preset ending point, and a global grid map of the environment. The offline data includes a path set and the correspondence between the vehicle sensor sampling points and the obscured path. The first determination module 220 is used to determine multiple temporary target points on the global path based on the preset starting point, the preset ending point, the global grid map of the environment, and the preset path planning algorithm. The second determination module 230 is used to control vehicle movement based on the temporary target points and obtain point cloud data for vehicle obstacle avoidance. Based on the path set, the point cloud data for vehicle obstacle avoidance, and the correspondence between the vehicle sensor sampling points and the obscured path, the valid execution layer path subset for the current temporary target point is determined. The third determination module 240 is used to determine the target execution layer path for the current temporary target point based on the valid execution layer path subset and a preset evaluation function. The control module 250 is used to control the vehicle to reach the current temporary target point according to the target execution layer path until the vehicle reaches the preset ending point.
[0071] According to one embodiment of the present application, the control module 250 is specifically used to obtain the angular velocity and linear velocity corresponding to the target execution layer path; and control the vehicle to reach the current temporary target point according to the angular velocity and linear velocity.
[0072] According to one embodiment of the present application, the third determination module 240 is specifically used to obtain the angular velocity and linear velocity corresponding to each valid execution layer path in the valid execution layer path subset; determine the score value of each valid execution layer path according to the preset evaluation function and the angular velocity and linear velocity corresponding to each valid execution layer path; and use the valid execution layer path corresponding to the maximum score value as the target execution layer path of the current temporary target point.
[0073] According to one embodiment of the present application, the score value of the effective execution layer path can be calculated using the following preset evaluation function:
[0074] G(v ref , w s )=σ(a·head(v ref , w s )+β·dist(v ref , w s )+ρ·change(v ref , w s )+γ·obs(v ref , w s ))
[0075]
[0076] Among them, w s Indicates the angular velocity corresponding to the effective execution layer path; v ref Indicates the linear velocity corresponding to the effective execution layer path; G(v ref ,ws ) represents the score value; head(v ref ,w s ) represents the heading angle deviation between the end of the effective execution layer path and the current temporary target point; dist(v ref ,w s ) represents the distance between the end of the effective execution layer path and the global path; change(v ref ,w s ) represents the change in the vehicle's angular velocity control amount; obs(v ref ,w s ) represents the collision-free probability of the effective execution layer path; α, β, γ, and ρ represent weight coefficients; σ represents the smoothing coefficient; n represents the number of unobstructed prediction layer paths starting from the end point of the effective execution layer path; 2k+1 represents the number of execution layer paths in the path set.
[0077] According to one embodiment of the present application, the path set includes an execution layer path set and multiple prediction layer path sets with each execution layer path end point as a starting point, the execution layer path set includes a valid execution layer path subset and an invalid execution layer path subset, and the second determination module 230 is specifically used to determine the target vehicle sensor sampling point based on the point cloud data of the vehicle obstacle avoidance; determine the invalid execution layer path subset based on the target vehicle sensor sampling point and the correspondence between the vehicle sensor sampling point and the obscured path, wherein the invalid execution layer path subset includes the execution layer path obscured by the target vehicle sensor sampling point, and the execution layer path in which each prediction layer path in the prediction layer path set with the execution layer path end point as the starting point is obscured by the target vehicle sensor sampling point; determine the valid execution layer path subset of the current temporary target point based on the execution layer path set and the invalid execution layer path subset.
[0078] According to one embodiment of the present application, the acquisition module 210 is specifically used to obtain a set of vehicle sensor sampling points; determine a circular area with each vehicle sensor sampling point in the vehicle sensor sampling point set as the center of the circle and the radius of the vehicle circular bounding box as the radius, and use the execution layer path and the prediction layer path that intersect with the circular area as the obscured path corresponding to each vehicle sensor sampling point; determine the correspondence between the vehicle sensor sampling point and the obscured path according to the obscured path corresponding to each vehicle sensor sampling point.
[0079] According to one embodiment of the present application, the vehicle sensor sampling point set can be obtained by the following formula:
[0080]
[0081] Among them, x max Indicates the maximum horizontal coordinate of the vehicle sensor coverage; y maxIndicates the maximum vertical coordinate of the vehicle sensor coverage range; R represents the radius of the vehicle's circular bounding box; d represents the sampling grid resolution; indx represents the horizontal coordinate grid index, and the horizontal coordinate grid index increases along the negative direction of the horizontal axis; indy represents the vertical coordinate grid index, and the vertical coordinate grid index increases along the negative direction of the vertical axis; x represents the horizontal coordinate of the vehicle sensor sampling point; y represents the vertical coordinate of the vehicle sensor sampling point.
[0082] According to one embodiment of the present application, the acquisition module 210 is also used to obtain the vehicle's initial posture, angular velocity set and linear velocity; and determine the path set based on the vehicle's initial posture, each angular velocity, linear velocity in the angular velocity set and a preset vehicle kinematic model.
[0083] It should be pointed out that the above-mentioned explanation of the embodiment and beneficial effects of the local obstacle avoidance method for a vehicle is also applicable to the local obstacle avoidance device for a vehicle in the embodiment of the present application. To avoid redundancy, they will not be elaborated here.
[0084] Corresponding to the above embodiments, the present application also proposes a vehicle.
[0085] See also Figure 6 As shown, the vehicle 300 of the present application includes a memory 310, a processor 320, and a vehicle local obstacle avoidance program stored in the memory 310 and executable on the processor 320. When the processor executes the vehicle local obstacle avoidance program, the aforementioned vehicle local obstacle avoidance method is implemented.
[0086] It should be pointed out that the above-mentioned explanation of the embodiments and beneficial effects of the local obstacle avoidance method for a vehicle is also applicable to the vehicle of the embodiment of the present application. To avoid redundancy, they will not be elaborated here.
[0087] It should be noted that the logic and / or steps represented in the flowcharts or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing the logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (e.g., a computer-based system, a system including a processor, or other system that can fetch and execute instructions from an instruction execution system, apparatus, or device). For purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport a program for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (non-exhaustive list) of computer-readable media include the following: an electrical connection with one or more wires (electronic device), a portable computer disk cartridge (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and programmable read-only memory (EPROM or flash memory), fiber optic devices, and portable compact disc read-only memory (CDROM). Furthermore, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing it in another suitable manner if necessary, and then storing it in a computer memory.
[0088] It should be understood that various parts of the present application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented using hardware, as in another embodiment, any one of the following technologies known in the art or a combination thereof can be used to implement: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application-specific integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0089] Throughout this specification, reference to terms such as "one embodiment," "some embodiments," "examples," "specific examples," or "some examples" means that a specific feature, structure, material, or characteristic described in conjunction with that embodiment or example is included in at least one embodiment or example of the present application. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
[0090] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of the technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of such features. Throughout the description of this application, "plurality" means at least two, for example, two, three, etc., unless otherwise specifically defined.
[0091] In this application, unless otherwise specified or limited, the terms "installed," "connected," "connect," "fixed," etc. should be understood in a broad sense. For example, they can refer to fixed connection, detachable connection, or integration; mechanical connection or electrical connection; direct connection or indirect connection through an intermediate medium; internal communication between two elements or interaction between two elements, unless otherwise specified. Those skilled in the art will understand the specific meanings of the above terms in this application based on specific circumstances.
[0092] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.
Claims
1. A local obstacle avoidance method for a vehicle, characterized in that: The method comprises: Obtaining offline data, a preset starting point, a preset ending point, and a global grid map of the environment, wherein the offline data includes a path set and a correspondence between vehicle sensor sampling points and obstructed paths; Determine multiple temporary target points of the global path according to the preset starting point, the preset ending point, the global grid map of the environment and a preset path planning algorithm; Controlling the vehicle movement based on the temporary target point, obtaining point cloud data of the vehicle's obstacle avoidance, and determining a valid execution layer path subset for the current temporary target point based on the path set, the point cloud data of the vehicle's obstacle avoidance, and a correspondence between the vehicle sensor sampling points and the obstructed path; Determine the target execution layer path of the current temporary target point according to the valid execution layer path subset and a preset evaluation function; The vehicle is controlled to reach the current temporary target point according to the target execution layer path until the vehicle reaches the preset end point.
2. The local obstacle avoidance method for a vehicle according to claim 1, characterized in that: Controlling the vehicle to reach the current temporary target point according to the target execution layer path includes: Obtaining the angular velocity and linear velocity corresponding to the target execution layer path; The vehicle is controlled to reach the current temporary target point according to the angular velocity and the linear velocity.
3. The local obstacle avoidance method for a vehicle according to claim 1, characterized in that: Determining a target execution layer path of a current temporary target point according to the valid execution layer path subset and a preset evaluation function includes: Obtaining the angular velocity and linear velocity corresponding to each valid execution layer path in the valid execution layer path subset; Determine a score value for each effective execution layer path according to the preset evaluation function and the angular velocity and linear velocity corresponding to each effective execution layer path; The valid execution layer path corresponding to the maximum value of the score value is used as the target execution layer path of the current temporary target point.
4. The local obstacle avoidance method for a vehicle according to claim 3, characterized in that: The preset evaluation function includes: G(v ref ,w s )=σ(a·head(v ref ,w s )+β·dist(v ref ,w s )+ρ·change(v ref ,w s )+γ·obs(v ref ,w s )) Among them, w s Indicates the angular velocity corresponding to the effective execution layer path; v ref Indicates the linear velocity corresponding to the effective execution layer path; G(v ref ,w s ) represents the score value; head(v ref ,w s ) represents the heading angle deviation between the end point of the effective execution layer path and the current temporary target point; dist(v ref ,w s ) represents the distance between the end point of the effective execution layer path and the global path; change(v ref ,w s ) represents the change in the vehicle's angular velocity control amount; obs(v ref ,w s ) represents the collision-free probability of the effective execution layer path; α, β, γ, ρ represent weight coefficients; σ represents the smoothing coefficient; n represents the number of unobstructed prediction layer paths starting from the end point of the effective execution layer path; 2k+1 represents the number of execution layer paths in the path set.
5. The local obstacle avoidance method for a vehicle according to claim 1, characterized in that: The path set includes an execution layer path set and multiple prediction layer path sets with each execution layer path end point as a starting point, the execution layer path set includes the valid execution layer path subset and the invalid execution layer path subset, and the valid execution layer path subset of the current temporary target point is determined according to the path set, the point cloud data of the vehicle obstacle avoidance, and the correspondence between the vehicle sensor sampling point and the blocked path, including: Determining a target vehicle sensor sampling point based on the point cloud data of the vehicle obstacle avoidance; Determining the invalid execution layer path subset according to the target vehicle sensor sampling point and the correspondence between the vehicle sensor sampling point and the blocked path, wherein the invalid execution layer path subset includes the execution layer path blocked by the target vehicle sensor sampling point and the execution layer path in the prediction layer path set with the execution layer path end point as the starting point, in which each prediction layer path is blocked by the target vehicle sensor sampling point; The valid execution layer path subset of the current temporary target point is determined according to the execution layer path set and the invalid execution layer path subset.
6. The local obstacle avoidance method for a vehicle according to claim 1, characterized in that: Obtain the correspondence between the vehicle sensor sampling points and the obstructed path, including: Get the vehicle sensor sampling point set; Determine a circular area with each vehicle sensor sampling point in the vehicle sensor sampling point set as the center and the radius of the vehicle circular bounding box as the radius, and use the execution layer path and the prediction layer path intersecting with the circular area as the blocked path corresponding to each vehicle sensor sampling point; The corresponding relationship between the vehicle sensor sampling point and the obscured path is determined according to the obscured path corresponding to each vehicle sensor sampling point.
7. The local obstacle avoidance method for a vehicle according to claim 6, characterized in that: Get the vehicle sensor sampling point set, including: Among them, x max Indicates the maximum horizontal coordinate of the vehicle sensor coverage; y max Indicates the maximum vertical coordinate of the vehicle sensor coverage range; R represents the radius of the vehicle's circular bounding box; d represents the sampling grid resolution; indx represents the horizontal coordinate grid index, and the horizontal coordinate grid index increases in the negative direction of the horizontal coordinate axis; indy represents the vertical coordinate grid index, and the vertical coordinate grid index increases in the negative direction of the vertical coordinate axis; x represents the horizontal coordinate of the vehicle sensor sampling point; y represents the vertical coordinate of the vehicle sensor sampling point.
8. The local obstacle avoidance method for a vehicle according to claim 1, characterized in that: Get the path set, including: Get the vehicle's initial position, angular velocity set, and linear velocity; The path set is determined according to the initial position of the vehicle, each angular velocity in the angular velocity set, the linear velocity, and a preset vehicle kinematic model.
9. A local obstacle avoidance device for a vehicle, characterized in that: The device comprises: An acquisition module is used to acquire offline data, a preset starting point, a preset ending point, and a global grid map of the environment, wherein the offline data includes a path set and a correspondence between the vehicle sensor sampling points and the obscured path; A first determining module is used to determine a plurality of temporary target points of a global path according to the preset starting point, the preset ending point, the global grid map of the environment and a preset path planning algorithm; a second determination module, configured to control the movement of the vehicle based on the temporary target point, obtain point cloud data of the vehicle's obstacle avoidance, and determine a valid execution layer path subset of the current temporary target point based on the path set, the point cloud data of the vehicle's obstacle avoidance, and a correspondence between the vehicle sensor sampling points and the obstructed paths; A third determining module is configured to determine a target execution layer path of a current temporary target point according to the valid execution layer path subset and a preset evaluation function; A control module is used to control the vehicle to reach the current temporary target point according to the target execution layer path until the vehicle reaches the preset end point.
10. A vehicle, characterized in that: The invention comprises a memory, a processor, and a local obstacle avoidance program for a vehicle stored in the memory and executable on the processor. When the processor executes the local obstacle avoidance program for the vehicle, the local obstacle avoidance method for the vehicle according to any one of claims 1 to 8 is implemented.