Millimeter wave radar-based drivable area detection method and related equipment
By fusing millimeter-wave point clouds collected by the left and right radars on the vehicle and performing path planning, the problems of high cost and insufficient accuracy in detecting the drivable area of the vehicle in the existing technology are solved, and efficient and accurate drivable area detection is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING TRANSMICROWAVE TECH CO LTD
- Filing Date
- 2026-02-25
- Publication Date
- 2026-05-08
AI Technical Summary
Existing cameras and lidar have problems such as high cost, insufficient accuracy or data processing delay when used to detect areas where vehicles can drive. Millimeter-wave radar usually only plays an auxiliary role in multi-sensor fusion solutions, failing to effectively utilize its advantages.
By fusing millimeter-wave point clouds collected by the left and right radars on the vehicle, a fused point cloud is generated. The observation results and probabilities are determined in the grid map, and the drivable area is determined using a path planning algorithm, thereby reducing costs and improving detection accuracy.
It improves the accuracy and efficiency of millimeter-wave radar in detecting vehicle-drivable areas, reduces costs, solves the problem of sparse point cloud data, and enhances robustness to environmental factors such as lighting.
Smart Images

Figure CN121995368A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of radar application technology, specifically to a method and related equipment for detecting drivable areas based on millimeter-wave radar. Background Technology
[0002] Currently, the main sensors used in intelligent driving fall into several categories: cameras, LiDAR, and millimeter-wave radar. Cameras and LiDAR remain the primary sensors for detecting the drivable area of a vehicle. Cameras are low-cost, but their target distance positioning has a large error and is easily affected by lighting conditions or inclement weather, impacting the accuracy of drivable area detection. While LiDAR collects precise data, it is expensive, and the large scale of its point cloud data leads to significant processing delays, resulting in longer detection times for drivable areas. Millimeter-wave radar detects a relatively sparse point cloud compared to LiDAR, but currently it typically plays only a supporting role in multi-sensor fusion solutions. Summary of the Invention
[0003] In view of this, this application aims to provide a method and related equipment for detecting drivable areas based on millimeter-wave radar, so as to realize the detection of drivable areas of vehicles using millimeter-wave radar, reduce costs, and improve detection efficiency and accuracy.
[0004] In a first aspect, this application provides a method for detecting drivable areas based on millimeter-wave radar, the method comprising: The first point cloud collected by the left radar on the vehicle and the second point cloud collected by the right radar are fused to obtain a fused point cloud. Based on the distribution of the fused point cloud in the grid map, the observation results of each grid cell in the grid map are determined; Based on the observation results, the probability that the fused point cloud exists in the grid is determined; Based on the path planning algorithm and the probability, the drivable area of the vehicle is determined.
[0005] In one possible implementation, determining the drivable area of the vehicle based on the path planning algorithm and the probability includes: Determine the field of view corresponding to the fusion of the left and right radars; Multiple preset angles are determined based on the field of view; Along any preset angle, the path planning algorithm is used to plan the path, and the farthest drivable target distance is determined based on the probability corresponding to the grid in the planned path. The drivable area is determined based on the target distances corresponding to the preset angles.
[0006] In one possible implementation, the step of performing path planning along any preset angle using the path planning algorithm, and determining the furthest drivable target distance based on the probabilities corresponding to the grids in the planned path, includes: Starting from the position of the vehicle, with a preset radius as the maximum planning distance, and along the preset angle, the Bressenham line algorithm is used to plan the path from the starting point to determine the i-th candidate grid. Determine whether the probability corresponding to the i-th candidate grid exceeds the probability threshold. If it does, stop path planning and determine the i-th candidate grid as the target grid. Otherwise, continue with path planning to determine the (i+1)th candidate grid cell; Determine whether the probability corresponding to the (i+1)th candidate grid exceeds the probability threshold; if so, stop path planning and determine the (i+1)th candidate grid as the target grid. Otherwise, repeat the above process until the farthest grid corresponding to the preset radius is reached, or the probability corresponding to the (i+1)th candidate grid exceeds the probability threshold, then stop the iteration and determine the grid corresponding to the time when the iteration stops as the target grid; The target distance is determined based on the distance between the vehicle's position and the target grid.
[0007] In one possible implementation, the method further includes one or more of the following: For a first preset angle, based on the second target distance corresponding to the second preset angle and the third target distance corresponding to the third preset angle, the first target distance corresponding to the first preset angle is calculated. The first preset angle belongs to a preset large angle range, the second preset angle is the angle preceding the first preset angle, and the third preset angle is the angle following the first preset angle; or... For multiple target preset angles between the fourth preset angle and the fifth preset angle, when there is a jagged area in the drivable area corresponding to the multiple target preset angles, the average value of the multiple target distances corresponding to the multiple target preset angles is calculated, and the average value is determined as the final distance corresponding to the multiple target preset angles.
[0008] In one possible implementation, determining the probability of the fused point cloud existing in the raster based on the observation results includes: Obtain the historical state parameters of the grid at the previous time, wherein the initial state parameters at the initial time are known numbers; When the observation result indicates that the fused point cloud has been observed, a first update coefficient is determined based on the detection probability and the false alarm probability; the current state parameter of the raster at the current moment is calculated based on the product of the first update coefficient and the historical state parameter; and the probability is determined based on the current state parameter. When the observation result is that the fused point cloud is not observed, a second update coefficient is determined based on the false alarm probability and the detection probability; the current state parameter is calculated based on the product of the second update coefficient and the historical state parameter; and the probability is determined based on the current state parameter.
[0009] In one possible implementation, when the observation result is that the fused point cloud has been observed, determining the first update coefficient based on the detection probability and the false alarm probability includes: Calculate the first ratio of the detection probability to the false alarm probability to obtain the first update coefficient; When the observation result is that the fused point cloud is not observed, the second update coefficient is determined based on the false alarm probability and the detection probability, including: Calculate the first difference between 1 and the detection probability, and calculate the second difference between 1 and the false alarm probability; Calculate the second ratio of the first difference to the second difference to obtain the second update coefficient.
[0010] In one possible implementation, fusing the first point cloud acquired by the left radar and the second point cloud acquired by the right radar on the vehicle to obtain a fused point cloud includes: Acquire the first point cloud collected at the first moment and the second point cloud collected at the second moment, wherein the first moment and the second moment are adjacent moments; Based on the vehicle's speed, determine the distance the vehicle traveled between the first time point and the second time point; Based on the angular velocity of the vehicle, determine the heading angle of the vehicle as it changes between the first and second moments; Based on the travel distance and the heading angle, determine the translation matrix and the rotation matrix; Based on the translation matrix and the rotation matrix, the first point cloud is transformed, and based on the transformed point cloud and the second point cloud, the fused point cloud is determined.
[0011] Secondly, this application provides a device for detecting drivable areas based on millimeter-wave radar, the device comprising: The fusion unit is used to fuse the first point cloud collected by the left radar on the vehicle and the second point cloud collected by the right radar to obtain a fused point cloud; An observation unit is used to determine the observation results of each grid cell in the grid map based on the distribution of the fused point cloud in the grid map. A probability determination unit is used to determine the probability that the fused point cloud exists in the grid based on the observation results; The region determination unit is used to determine the drivable area of the vehicle based on the path planning algorithm and the probability.
[0012] Thirdly, this application provides an electronic device, the device comprising: a memory and a processor; The memory is used to store the relevant program code; The processor is used to call the program code to execute the drivable area detection method based on millimeter-wave radar as described in any of the implementations of the first aspect above.
[0013] Fourthly, this application provides a computer-readable storage medium for storing a computer program for executing the millimeter-wave radar-based method for detecting drivable areas as described in any implementation of the first aspect.
[0014] Fifthly, this application provides a computer program product, which includes a computer program / instruction, and when the computer program / instruction is executed by a processor, it implements the method for detecting drivable areas based on millimeter-wave radar as described in any of the implementations of the first aspect.
[0015] In the above implementation of this application, a first point cloud collected by the left radar and a second point cloud collected by the right radar on the vehicle can be acquired, and the first and second point clouds can be fused to obtain a fused point cloud. Both the left and right radars are millimeter-wave radars. Based on the distribution of the fused point cloud in a grid map, the observation result of each grid cell in the grid map is determined. That is, based on the coordinates of each fused point cloud, the fused point cloud can be distributed in the corresponding grid cells in the grid map, thereby determining the observation result of each grid cell, i.e., whether a point cloud is observed in the grid cell. Based on the observation results of the grid cells, the probability of the presence of a fused point cloud in the grid cell is determined. Based on the path planning algorithm and the probability corresponding to each grid cell, the drivable area of the vehicle is determined. Using the method provided in this application, the drivable area of the vehicle can be determined using point cloud data collected by millimeter-wave radar. Compared with cameras, this method can improve the accuracy of target detection and reduce the impact of lighting conditions on millimeter-wave radar. Compared with lidar, it can reduce costs and improve data processing efficiency. By using point cloud fusion, the problem of sparse point cloud data can be solved, the accuracy of point cloud data can be improved, and thus the accuracy of detecting the drivable area of a vehicle can be increased. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments provided in this application. For those skilled in the art, other drawings can be obtained based on these drawings.
[0017] Figure 1 A flowchart illustrating a method for detecting drivable areas based on millimeter-wave radar, provided in an embodiment of this application.
[0018] Figure 2 This is a flowchart for determining the target distance, provided as an embodiment of this application.
[0019] Figure 3 This is a schematic diagram of a drivable area detection device based on millimeter-wave radar, provided as an embodiment of this application.
[0020] Figure 4 This is a schematic diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0021] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. The described embodiments are merely exemplary implementations of this application and not all implementation methods. Those skilled in the art can obtain other embodiments in conjunction with the embodiments of this application without creative effort, and these embodiments are also within the protection scope of this application.
[0022] Currently, the main sensors used in intelligent driving fall into several categories: cameras, LiDAR, and millimeter-wave radar. Cameras and LiDAR remain the primary sensors for detecting the drivable area of a vehicle. Cameras are low-cost, but their target distance positioning has a large error and is easily affected by lighting conditions or inclement weather, impacting the accuracy of drivable area detection. While LiDAR collects precise data, it is expensive, and the large scale of its point cloud data leads to significant processing delays, resulting in longer detection times for drivable areas. Millimeter-wave radar detects a relatively sparse point cloud compared to LiDAR, but currently it typically plays only a supporting role in multi-sensor fusion solutions.
[0023] Millimeter-wave radars used in vehicles for intelligent driving can be broadly categorized into two types: forward-facing radars and corner radars. Corner radars are typically short-range radars, meeting needs such as blind spot detection, lane change assist, and door opening warning. Corner radars are usually installed at the four corners of the vehicle, including the front left corner radar, front right corner radar, rear left corner radar, and rear right corner radar. Typically, the left and right corner radars can be grouped together to detect targets in front or behind. For example, the front left and front right corner radars form one group, and the rear left and rear right corner radars form another group.
[0024] Based on this, this application provides a method and related equipment for detecting drivable areas using millimeter-wave radar, enabling the detection of drivable areas of vehicles using millimeter-wave radar, reducing costs, and improving detection efficiency and accuracy. Specifically, a first point cloud collected by the left radar and a second point cloud collected by the right radar on the vehicle are acquired, and the first and second point clouds are fused to obtain a fused point cloud. Both the left and right radars are millimeter-wave radars. Based on the distribution of the fused point cloud in a grid map, the observation result of each grid cell in the grid map is determined. That is, based on the coordinates of each fused point cloud, the fused point cloud is distributed in the corresponding grid cells in the grid map, thereby determining the observation result of each grid cell, i.e., whether a point cloud is observed in the grid cell. Based on the observation results of the grid cells, the probability of the presence of a fused point cloud in the grid cell is determined. Based on the path planning algorithm and the probability corresponding to each grid cell, the drivable area of the vehicle is determined. Through the method provided in this application, the drivable area of a vehicle can be determined using point cloud data collected by millimeter-wave radar. Compared to cameras, it can improve the accuracy of target detection and reduce the impact of lighting conditions on millimeter-wave radar. Compared to lidar, it can reduce costs and improve data processing efficiency. By using point cloud fusion, it can solve the problem of sparse point cloud data, improve the accuracy of point cloud data, and thus improve the accuracy of detecting vehicle-accessible areas.
[0025] To facilitate understanding of the technical solutions provided in the embodiments of this application, a detailed description will be given below in conjunction with the accompanying drawings.
[0026] See Figure 1 The diagram shown is a flowchart of a method for detecting drivable areas based on millimeter-wave radar, provided in an embodiment of this application.
[0027] Optionally, this method can be executed by a data processing device. This data processing device can be a terminal device in the vehicle or a server. The data processing device can acquire point cloud data collected by the millimeter-wave radar on the vehicle and process the point cloud data.
[0028] The method may include the following steps: S101: The first point cloud collected by the left radar on the vehicle and the second point cloud collected by the right radar are fused to obtain a fused point cloud.
[0029] The left and right radars are millimeter-wave radars. They can be a front left-corner radar and a front right-corner radar, or a rear left-corner radar and a rear right-corner radar. Typically, the left and right radars acquire point clouds at different times, but with very short intervals. This temporal sequence ensures that two frames of point clouds acquired by the left and right radars at adjacent times can be fused together. The first point cloud can include multiple point clouds, and the point cloud data for each point cloud can include point cloud coordinates, orientation angle, and point cloud confidence score. The point cloud confidence score indicates the probability that the detected point cloud is a true point cloud.
[0030] In this embodiment, the point cloud data output by both the left and right radars are data in the vehicle coordinate system. Specifically, the raw point cloud data acquired by the left (right) radar is in the radar coordinate system. The left (right) radar can convert the raw point cloud data to the vehicle coordinate system based on the transformation relationship between its own radar coordinate system and the vehicle coordinate system, thus enabling the data processing device to acquire the point cloud data in the vehicle coordinate system. The vertical axis of the vehicle coordinate system represents the direction of the vehicle's forward movement and is represented by the x-axis; the horizontal axis is perpendicular to the vertical axis and is represented by the y-axis.
[0031] In one possible implementation, a first point cloud acquired by the left radar at a first moment and a second point cloud acquired by the right radar at a second moment can be obtained, where the first and second moments are adjacent moments. Since there is a time interval between the first and second moments, the vehicle moves during this time interval, meaning the vehicle coordinate system shifts. To better fuse the first and second point clouds, the first point cloud acquired at the first moment can be transformed to the vehicle coordinate system corresponding to the second moment, so that the transformed point cloud and the second point cloud acquired at the second moment are in the same coordinate system.
[0032] In practical implementation, the distance the vehicle travels between the first and second moments can be determined based on the vehicle's speed. That is, the distance traveled is calculated by multiplying the vehicle's speed by the time interval between the first and second moments. The heading angle of the vehicle, which changes between the first and second moments, is determined based on the vehicle's angular velocity. Optionally, when the vehicle's angular velocity is 0, it indicates that the vehicle is traveling in a straight line, and the heading angle is 0°. When the vehicle's angular velocity is not 0, it indicates that the vehicle is turning, and the heading angle is not 0°.
[0033] After determining the vehicle's travel distance and heading angle, the transformation relationship between the vehicle coordinate system at the first and second time points can be determined, namely, the translation and rotation matrices. The translation matrix represents the translation vector between the origins of the two coordinate systems, and the rotation matrix indicates how to rotate the coordinate system at the first time point to align with the coordinate system at the second time point. Based on the translation and rotation matrices, the first point cloud is transformed to obtain the transformed point cloud. Therefore, based on the transformed and second point clouds, the fused point cloud is determined.
[0034] Specifically, when a vehicle turns, a heading angle exists. The distance the vehicle travels can be decomposed into components along the longitudinal axis and the transverse axis, represented as the longitudinal direction travel distance component and the transverse direction travel distance component, respectively. The longitudinal direction travel distance component can be expressed as the product of the travel distance and the cosine of the heading angle, while the transverse direction travel distance component can be expressed as the product of the travel distance and the sine of the heading angle. A translation matrix is then constructed based on these longitudinal and transverse direction travel distance components.
[0035] Let v represent the speed of the vehicle. The angular velocity of the vehicle is represented by t, which represents the time interval between the first and second moments. If the heading angle is given, then the heading angle is... = The rotation matrix R can be expressed as: .by Represents the distance component of the vertical axis direction, in If the distance component represents the movement along the horizontal axis, then... , Then the translation matrix T can be expressed as: .by To represent the coordinates of a point in the first point cloud, we can use the rotation matrix R and the translation matrix T to... Perform the transformation to obtain the coordinates of the transformed point cloud. , represented as .
[0036] Optionally, for the overlapping field of view of the left and right radars, if the point clouds acquired by the left radar and the right radar within the overlapping field of view correspond to the same location, it indicates that the fused point cloud contains redundancy. Since the detection probability corresponding to a grid is usually an empirical value determined by combining the fused point clouds present in the grid, and the detection probability represents the probability of observing the fused point cloud when it exists in the grid, redundant fused point clouds in the grid may affect the accuracy of determining the detection probability. Therefore, to reduce the impact on the detection probability and reduce the consumption of computational resources, redundant fused point clouds can be partially deleted.
[0037] S102: Based on the distribution of the fused point cloud in the raster map, determine the observation results of each grid cell in the raster map.
[0038] The grid map is typically built in a polar coordinate system, consisting of multiple grids. The polar coordinate system comprises a distance axis and an angle axis; the distance represents the distance between the point cloud and the radar, and the angle represents the azimuth. Since the left radar can acquire the distance and azimuth corresponding to the fused point cloud, the fused point cloud can be assigned to the corresponding grid in the grid map based on these parameters. The observation result of each grid is determined by whether or not a fused point cloud is observed in it. For example, let z represent the observation result: z=1 when a fused point cloud is observed in the grid, and z=0 when no fused point cloud is observed in the grid.
[0039] S103: Based on the observation results, determine the probability that a fused point cloud exists in the raster.
[0040] Because radar detection of point clouds may contain errors, the observation results may be inaccurate. For example, it may fail to detect point clouds that actually exist, or it may detect point clouds that do not actually exist, resulting in a certain degree of error in the observation results. Therefore, in order to more accurately represent whether there are fused point clouds in a grid, the probability of the presence of fused point clouds in the grid, i.e., the probability of the presence of obstacles in the grid, can be calculated based on the observation results.
[0041] In one possible implementation, at the initial moment, let s represent the state of the grid. The left radar (right radar) has not yet detected the point cloud. At this time, the probability that the fused point cloud exists in the grid is represented as p(s=1), and the probability that the fused point cloud does not exist in the grid is represented as p(s=0). The state parameter of the grid can be represented as odds(s). The probability of a point cloud existing in the raster at the initial moment can be set to 0.5. .
[0042] After obtaining the fused point cloud at the next time step, the observation results of the raster can be determined. At this point, the state parameters of the raster represent the state of the raster after one observation, i.e., Then the state parameter can be expressed as Similarly, the state parameters of the raster at the current moment can be represented as... Then we can obtain the probability that a fused point cloud exists in the raster under the current observation results: = Where i = 1, 2, ..., n, represents the i-th time moment.
[0043] Among them, state parameters It can also be expressed as The specific derivation process is as follows: , , Then there is Similarly, the state parameters of the raster at the current moment can be expressed as: , That is , That is, the one mentioned above .
[0044] Since there are two possible outcomes for the observation results, namely z=1 and z=0, the state parameters of the raster... Sum of probabilities The calculation needs to be performed in two cases. In the specific implementation, when the raster's observation result is that the fused point cloud has been observed (i.e., z=1), then the current state parameter... ,in, Let be the first update coefficient. Then, the current state parameter of the raster at the current time can be expressed as the product of the first update coefficient and the historical state parameter of the raster at the previous time. It can be expressed as the detection probability, that is, the probability of observing the fused point cloud when it actually exists in the raster. This can be expressed as the false alarm probability, which is the probability of observing a fused point cloud when it does not exist in the raster, and the detection probability and false alarm probability are assumed to be known values. Therefore, the first update coefficient can be calculated based on the detection probability and the false alarm probability.
[0045] Specifically, when the observation result is that the fused point cloud has been observed, i.e., z=1, the first update coefficient hit can be expressed as: Therefore, the first update coefficient can be calculated as follows: calculate the first ratio of the detection probability to the false alarm probability to obtain the first update coefficient.
[0046] As can be seen from the above embodiments, after observation, the probability of the existence of fused point clouds in the raster can be expressed as: = Therefore, when the observation result is that a fused point cloud is observed, the probability that a fused point cloud exists in the raster can be determined based on the current state parameters. Specifically, first calculate the sum of the current state parameters and 1, then calculate the ratio of the current state parameters to the sum to obtain the probability that a fused point cloud exists in the raster. = .
[0047] When the raster observation result is no fused point cloud observed, i.e., z=0, the current state parameter is... ,in, This is represented as the second update coefficient. In other words, the current state parameter of the current grid can be expressed as the product of the second update coefficient and the historical state parameter of the previous grid. Similarly, the second update coefficient can be calculated based on the detection probability and the false alarm probability.
[0048] Specifically, when the observation result is that no fused point cloud was observed, i.e., z=0, the second update coefficient miss can be expressed as: Therefore, the second update coefficient can be calculated as follows: calculate the first difference between 1 and the detection probability, and calculate the second difference between 1 and the false alarm probability, and then calculate the second ratio of the first difference to the second difference to obtain the second update coefficient.
[0049] Then based on the current state parameters Determine the probability that a fused point cloud exists in the raster at this moment. Specifically, first calculate the sum of the current state parameter and 1. Then calculate the ratio of the current state parameter to this sum to obtain the probability that a fused point cloud exists in the raster. = .
[0050] S104: Determine the drivable area of the vehicle based on the path planning algorithm and the probability of fused point clouds in the grid.
[0051] When the probability of fused point clouds in a grid is high, it indicates that there are obstacles at the corresponding location of the grid, which is an area where vehicles cannot drive. Therefore, a path planning algorithm can be used to plan the driving path, and then the driving area of the vehicle can be determined by combining the probability of fused point clouds in the grid.
[0052] In practice, since each radar has a maximum detection field of view, i.e., a field of view angle, after fusing the left and right radars, the field of view angle corresponding to the fused left and right radars can be determined. This field of view angle is the sum of the left field of view angle corresponding to the left radar and the right field of view angle corresponding to the right radar. For example, when the left field of view angle is [-120°, 30°] and the right field of view angle is [-30°, 120°], the field of view angle corresponding to the fused left and right radars is [-120°, 120°].
[0053] Then, multiple preset angles are determined based on the field of view. That is, the field of view can be divided into multiple preset angles. For example, using 10° intervals, 25 preset angles can be obtained. Along any preset angle, a path planning algorithm is used for path planning. Based on the probability corresponding to the grids in the planned path, the farthest drivable target distance of the vehicle is determined. In other words, it can be determined whether there are obstacles in the grids of the planned path. If an obstacle exists in a grid, it indicates that the vehicle can reach that grid at its furthest point, and the distance between the vehicle's position and that grid is the farthest drivable target distance along that preset angle. After determining multiple target distances corresponding to multiple preset angles, connecting the positions corresponding to these multiple target distances determines the vehicle's drivable area.
[0054] For details, please refer to Figure 2 The diagram shown is a flowchart of a method for determining a target distance according to an embodiment of this application.
[0055] The method may include the following steps: A1: Determine any preset angle, with the vehicle's position as the starting point and the preset radius as the maximum planned distance.
[0056] A2: Use the Bressenham line algorithm for path planning to determine the i-th candidate grid cell; A3: Determine whether the probability corresponding to the i-th candidate grid exceeds the probability threshold; if so, proceed to step A4 and then jump to step A7; otherwise, jump to step A5. A4: Determine the i-th candidate raster as the target raster; A5: Determine if the farthest grid cell corresponding to the preset radius has been reached; if yes, proceed to step A6; otherwise, set i = i + 1 and return to step A2. A6: Determine the farthest grid cell as the target grid cell; A7: Determine the target distance based on the distance between the vehicle's position and the target grid; A8: Determine if multiple preset angles have been traversed; if yes, proceed to step A9; otherwise, traverse the next preset angle and return to step A1. A9: Determine the distances to multiple targets corresponding to multiple preset angles.
[0057] To facilitate understanding, the above process will be explained in detail below.
[0058] In one possible implementation, to determine the vehicle's drivable area, a preset radius can first be determined as the maximum planned distance. This preset radius can be determined based on human experience or it can be the maximum detection range of the left (or right) radar.
[0059] Starting from the vehicle's position and using a preset radius as the maximum planning distance, the Bresenham line algorithm is used to plan a path from the starting point along any preset angle to determine the i-th candidate grid. The basic principle of the Bresenham line algorithm is that it can plan a path in a grid that continuously moves along a straight line from the starting point to the destination, with each planned position being a vertex of the grid. In this embodiment, after the Bresenham line algorithm starts from the vehicle's position and generates the next grid point, it can be determined whether the probability of the next grid point corresponding to the first candidate grid passed between the starting position and the first grid point exceeds a probability threshold. If so, it indicates that there is an obstacle in the first candidate grid, path planning stops, and the first candidate grid is determined as the farthest reachable target grid. Based on the distance between the vehicle's position and the target grid (the first candidate grid), the farthest traversable target distance of the vehicle is determined.
[0060] If the probability corresponding to the first candidate grid does not exceed the probability threshold, it indicates that there is no obstacle in the first candidate grid, and the vehicle can continue to travel. The Bressenham straight-line algorithm then continues path planning to determine the second candidate grid. Next, it checks whether the probability corresponding to the second candidate grid exceeds the probability threshold. If it does, path planning stops, and the second candidate grid is designated as the target grid. Based on the distance between the vehicle's position and the target grid (the second candidate grid), the maximum traversable target distance is determined.
[0061] Following this logic, the Bressenham line algorithm is used for path planning to determine the i-th candidate grid. It is then determined whether the probability of the i-th candidate grid exceeds a probability threshold. If so, path planning stops, and the i-th candidate grid is designated as the target grid; otherwise, path planning continues to determine the (i+1)-th candidate grid. The probability of the (i+1)-th candidate grid is then checked against the probability threshold. If so, path planning stops, and the (i+1)-th candidate grid is designated as the target grid; otherwise, the above process is repeated until the furthest grid corresponding to the preset radius is reached, or the probability of the (i+1)-th candidate grid exceeds the probability threshold. At this point, iteration stops, and the grid corresponding to the point of stopping iteration is designated as the target grid. In other words, if the path planning reaches the furthest grid corresponding to the preset radius, it means that all previously planned paths are drivable areas, and iteration stops at this furthest grid, which is the target grid. Based on the distance between the vehicle's position and the target grid, the furthest drivable target distance for the vehicle is determined.
[0062] By performing the above process for multiple preset angles, multiple target distances corresponding to each preset angle can be determined. Connecting the positions corresponding to multiple target distances determines the vehicle's drivable area.
[0063] For large-angle regions located at the two boundaries of the field of view, such as the angle region detectable by the left radar on the left and the angle region detectable by the right radar on the right, the collected point cloud data may be relatively sparse. Furthermore, the large-angle regions are not sensitive to the lateral and longitudinal positional movements caused by angle changes, resulting in insufficient data processing accuracy. Therefore, in order to improve the accuracy of determining the vehicle's drivable area, the initially obtained target distance can be optimized.
[0064] In one possible implementation, for a first preset angle belonging to a preset large angle range, to improve the accuracy of determining the target distance, the first target distance corresponding to the first preset angle can be calculated based on the second target distance corresponding to the second preset angle and the third target distance corresponding to the third preset angle. For example, the second target distance and the third target distance can be weighted and summed to obtain the first target distance corresponding to the first preset angle. Here, the second preset angle is the angle preceding the first preset angle, and the third preset angle is the angle following the first preset angle. In this embodiment, the preset large angle range can be determined according to the actual application scenario and is not limited thereto. For example, when the field of view is [-120°, 120°], the preset large angle range can be [-120°, -100°] and [100°, 120°].
[0065] In one possible implementation, for multiple target preset angles between the fourth and fifth preset angles, connecting the positions of multiple target distances corresponding to each target preset angle forms a drivable area corresponding to the multiple target preset angles. If jagged areas exist within this drivable area, it indicates insufficient calculation accuracy for the multiple target preset angles, and the drivable area can be smoothed. Specifically, the average value of the multiple target distances corresponding to the multiple target preset angles is calculated, and this average value is determined as the final distance corresponding to the multiple target preset angles. Then, the positions of the final distances corresponding to the multiple target preset angles are connected to form a smooth drivable area.
[0066] In one possible implementation, for the seventh preset angle, a drivable area is formed by connecting the target distance corresponding to the seventh preset angle with the target distances corresponding to the sixth and eighth preset angles, respectively. The sixth preset angle is the angle preceding the seventh preset angle, and the eighth preset angle is the angle following the seventh preset angle. When the width of this drivable area is less than a preset width, the vehicle is considered unable to pass. In this case, a weighted sum of the target distances corresponding to the sixth and eighth preset angles can be used to determine the final distance corresponding to the seventh preset angle, thus achieving smoothing of the drivable area.
[0067] The method provided in this application embodiment can determine the drivable area of a vehicle using point cloud data collected by millimeter-wave radar. Compared to cameras, it can improve the accuracy of target detection and reduce the impact of lighting conditions on millimeter-wave radar. Compared to lidar, it can reduce costs and improve data processing efficiency. By fusing the point clouds collected by the left and right radars, the problem of sparse point cloud data can be solved, improving the accuracy of the point cloud data and thus improving the accuracy of detecting the drivable area of the vehicle.
[0068] Based on the above method embodiments, this application also provides a device for detecting drivable areas based on millimeter-wave radar. See also Figure 3 The diagram shown is a schematic of a drivable area detection device based on millimeter-wave radar provided in an embodiment of this application.
[0069] The device 300 includes: The fusion unit 301 is used to fuse the first point cloud collected by the left radar on the vehicle and the second point cloud collected by the right radar to obtain a fused point cloud. The observation unit 302 is used to determine the observation result of each grid in the grid map based on the distribution of the fused point cloud in the grid map; The probability determination unit 303 is used to determine the probability that the fused point cloud exists in the grid based on the observation results; The region determination unit 304 is used to determine the drivable area of the vehicle based on the path planning algorithm and the probability.
[0070] In one possible implementation, the region determination unit 304 is used to determine the field of view corresponding to the fusion of the left radar and the right radar; determine multiple preset angles based on the field of view; perform path planning along any preset angle using the path planning algorithm; determine the farthest drivable target distance based on the probability corresponding to the grid in the planned path; and determine the drivable area based on the multiple target distances corresponding to the multiple preset angles respectively.
[0071] In one possible implementation, the region determination unit 304 is configured to, starting from the vehicle's position and with a preset radius as the maximum planning distance, perform path planning along the preset angle using the Bressenham line algorithm to determine the i-th candidate grid; determine whether the probability corresponding to the i-th candidate grid exceeds a probability threshold; if so, stop path planning and determine the i-th candidate grid as the target grid; otherwise, continue path planning to determine the (i+1)-th candidate grid; determine whether the probability corresponding to the (i+1)-th candidate grid exceeds the probability threshold; if so, stop path planning and determine the (i+1)-th candidate grid as the target grid; otherwise, repeat the above process until the farthest grid corresponding to the preset radius is reached, or the probability corresponding to the (i+1)-th candidate grid exceeds the probability threshold, then stop iteration and determine the grid corresponding to the stop iteration as the target grid; and determine the target distance based on the distance between the vehicle's position and the target grid.
[0072] In one possible implementation, the device further includes a processing unit, configured to: calculate a first target distance corresponding to the first preset angle based on a second target distance corresponding to a second preset angle and a third target distance corresponding to a third preset angle, wherein the first preset angle belongs to a preset large angle range, the second preset angle is the angle preceding the first preset angle, and the third preset angle is the angle following the first preset angle; or, for multiple target preset angles between a fourth preset angle and a fifth preset angle, when there is a jagged area in the drivable area corresponding to the multiple target preset angles, calculate the average value of the multiple target distances corresponding to the multiple target preset angles, and determine the average value as the final distance corresponding to the multiple target preset angles.
[0073] In one possible implementation, the probability determination unit 303 is used to obtain the historical state parameters of the raster at the previous time step, wherein the initial state parameters at the initial time step are known numbers; when the observation result is that the fused point cloud is observed, a first update coefficient is determined based on the detection probability and the false alarm probability; the current state parameter of the raster at the current time step is calculated based on the product of the first update coefficient and the historical state parameters; the probability is determined based on the current state parameter; when the observation result is that the fused point cloud is not observed, a second update coefficient is determined based on the false alarm probability and the detection probability; the current state parameter is calculated based on the product of the second update coefficient and the historical state parameters; the probability is determined based on the current state parameter.
[0074] In one possible implementation, the probability determination unit 303 is used to calculate a first ratio of the detection probability to the false alarm probability to obtain the first update coefficient; The probability determination unit 303 is used to calculate a first difference between 1 and the detection probability, and to calculate a second difference between 1 and the false alarm probability; and to calculate a second ratio between the first difference and the second difference to obtain the second update coefficient.
[0075] In one possible implementation, the fusion unit 301 is configured to acquire a first point cloud collected at a first time and a second point cloud collected at a second time, wherein the first time and the second time are adjacent times; determine the distance the vehicle moves between the first time and the second time based on the vehicle's speed; determine the heading angle of the vehicle changing between the first time and the second time based on the vehicle's angular velocity; determine a translation matrix and a rotation matrix based on the moving distance and the heading angle; transform the first point cloud based on the translation matrix and the rotation matrix; and determine the fused point cloud based on the transformed point cloud and the second point cloud.
[0076] Based on the above method and device embodiments, this application also provides an electronic device. The following description will be provided in conjunction with the accompanying drawings.
[0077] See Figure 4 , Figure 4 This is a schematic diagram of an electronic device provided in an embodiment of this application.
[0078] The device 400 includes: a memory 401 and a processor 402; The memory 401 is used to store relevant program code; The processor 402 is used to call the program code to execute the method for detecting drivable areas based on millimeter-wave radar as described in the above method embodiments.
[0079] Furthermore, embodiments of this application also provide a computer-readable storage medium for storing a computer program for executing the millimeter-wave radar-based drivable area detection method described in the above method embodiments.
[0080] This application also provides a computer program product, which includes a computer program / instruction. When the computer program / instruction is executed by a processor, it implements the method for detecting drivable areas based on millimeter-wave radar as described in the above method embodiments.
[0081] It should be noted that the computer-readable medium described above in this application may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.
[0082] The computer program product can be written in any combination of one or more programming languages to perform the operations of the embodiments of this application. The 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 the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0083] It should be noted that the various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. In particular, for system or device embodiments, since they are basically similar to method embodiments, the description is relatively simple, and relevant parts can be referred to the descriptions in the method embodiments. The device embodiments described above are merely illustrative. The units or modules described as separate components may or may not be physically separate. The components shown as units or modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network units. Some or all of the units or modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0084] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functions, and operations that may be implemented by methods, apparatuses, and devices according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0085] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0086] It should also be noted that, in this application, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0087] The steps of the methods or algorithms described in conjunction with the embodiments disclosed in this application can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
[0088] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for detecting drivable areas based on millimeter-wave radar, characterized in that, The method includes: The first point cloud collected by the left radar and the second point cloud collected by the right radar on the vehicle are fused to obtain a fused point cloud. The left radar and the right radar are millimeter-wave radars. Based on the distribution of the fused point cloud in the grid map, the observation results of each grid cell in the grid map are determined; Based on the observation results, the probability that the fused point cloud exists in the grid is determined; Based on the path planning algorithm and the probability, the drivable area of the vehicle is determined.
2. The method according to claim 1, characterized in that, The determination of the drivable area of the vehicle based on the path planning algorithm and the probability includes: Determine the field of view corresponding to the fusion of the left and right radars; Multiple preset angles are determined based on the field of view; Along any preset angle, the path planning algorithm is used to plan the path, and the farthest drivable target distance is determined based on the probability corresponding to the grid in the planned path. The drivable area is determined based on the target distances corresponding to the preset angles.
3. The method according to claim 2, characterized in that, The process of planning a path along any preset angle using the path planning algorithm, and determining the furthest drivable target distance based on the probabilities corresponding to the grid cells in the planned path, includes: Starting from the position of the vehicle, with a preset radius as the maximum planning distance, and along the preset angle, the Bressenham line algorithm is used to plan the path from the starting point to determine the i-th candidate grid. Determine whether the probability corresponding to the i-th candidate grid exceeds the probability threshold. If it does, stop path planning and determine the i-th candidate grid as the target grid. Otherwise, continue with path planning to determine the (i+1)th candidate grid cell; Determine whether the probability corresponding to the (i+1)th candidate grid exceeds the probability threshold; if so, stop path planning and determine the (i+1)th candidate grid as the target grid. Otherwise, repeat the above process until the farthest grid corresponding to the preset radius is reached, or the probability corresponding to the (i+1)th candidate grid exceeds the probability threshold, then stop the iteration and determine the grid corresponding to the time when the iteration stops as the target grid; The target distance is determined based on the distance between the vehicle's position and the target grid.
4. The method according to claim 3, characterized in that, The method also includes one or more of the following: For a first preset angle, based on the second target distance corresponding to the second preset angle and the third target distance corresponding to the third preset angle, the first target distance corresponding to the first preset angle is calculated. The first preset angle belongs to a preset large angle range, the second preset angle is the angle before the first preset angle, and the third preset angle is the angle after the first preset angle. or, For multiple target preset angles between the fourth preset angle and the fifth preset angle, when there is a jagged area in the drivable area corresponding to the multiple target preset angles, the average value of the multiple target distances corresponding to the multiple target preset angles is calculated, and the average value is determined as the final distance corresponding to the multiple target preset angles.
5. The method according to claim 1, characterized in that, The step of determining the probability that the fused point cloud exists in the raster based on the observation results includes: Obtain the historical state parameters of the grid at the previous time, wherein the initial state parameters at the initial time are known numbers; When the observation result indicates that the fused point cloud has been observed, a first update coefficient is determined based on the detection probability and the false alarm probability; the current state parameter of the raster at the current moment is calculated based on the product of the first update coefficient and the historical state parameter; and the probability is determined based on the current state parameter. When the observation result is that the fused point cloud is not observed, a second update coefficient is determined based on the false alarm probability and the detection probability; the current state parameter is calculated based on the product of the second update coefficient and the historical state parameter; and the probability is determined based on the current state parameter.
6. The method according to claim 5, characterized in that, When the observation result is that the fused point cloud has been observed, the first update coefficient is determined based on the detection probability and the false alarm probability, including: Calculate the first ratio of the detection probability to the false alarm probability to obtain the first update coefficient; When the observation result is that the fused point cloud is not observed, the second update coefficient is determined based on the false alarm probability and the detection probability, including: Calculate the first difference between 1 and the detection probability, and calculate the second difference between 1 and the false alarm probability; Calculate the second ratio of the first difference to the second difference to obtain the second update coefficient.
7. The method according to claim 1, characterized in that, The process of fusing the first point cloud collected by the left radar and the second point cloud collected by the right radar on the vehicle to obtain a fused point cloud includes: Acquire the first point cloud collected at the first moment and the second point cloud collected at the second moment, wherein the first moment and the second moment are adjacent moments; Based on the vehicle's speed, determine the distance the vehicle traveled between the first time point and the second time point; Based on the angular velocity of the vehicle, determine the heading angle of the vehicle as it changes between the first and second moments; Based on the travel distance and the heading angle, determine the translation matrix and the rotation matrix; Based on the translation matrix and the rotation matrix, the first point cloud is transformed, and based on the transformed point cloud and the second point cloud, the fused point cloud is determined.
8. A device for detecting drivable areas based on millimeter-wave radar, characterized in that, The device includes: The fusion unit is used to fuse the first point cloud collected by the left radar on the vehicle and the second point cloud collected by the right radar to obtain a fused point cloud; An observation unit is used to determine the observation results of each grid cell in the grid map based on the distribution of the fused point cloud in the grid map. A probability determination unit is used to determine the probability that the fused point cloud exists in the grid based on the observation results; The region determination unit is used to determine the drivable area of the vehicle based on the path planning algorithm and the probability.
9. An electronic device, characterized in that, The device includes: a memory and a processor; The memory is used to store the relevant program code; The processor is used to call the program code to execute the method for detecting drivable areas as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program for performing the method for detecting a drivable area as described in any one of claims 1 to 7.