Systems and methods for free-space estimation

The method and system for analyzing point cloud data from sensors in autonomous vehicles calculate free-space probabilities by segmenting and classifying obstacles, addressing the challenge of sensor limitations and improving navigation safety.

JP7856805B2Active Publication Date: 2026-05-11DEKA PRODUCTS LP
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
DEKA PRODUCTS LP
Filing Date
2025-02-19
Publication Date
2026-05-11

AI Technical Summary

Technical Problem

Existing systems struggle to efficiently determine free space for autonomous vehicles by accurately evaluating sensor data considering road conditions and sensor limitations, which is crucial for safe navigation.

Method used

A method and system that analyze point cloud data from sensors to calculate free-space probabilities by segmenting data, determining plane points, creating a grid, and calculating probabilities based on sensor availability, obstacle height, and noise coefficients, using algorithms to classify obstacles and free space.

Benefits of technology

Enhances the accuracy and efficiency of free-space estimation for autonomous vehicles by accounting for sensor noise and limitations, improving navigation safety and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007856805000032
    Figure 0007856805000032
  • Figure 0007856805000033
    Figure 0007856805000033
  • Figure 0007856805000034
    Figure 0007856805000034
Patent Text Reader

Abstract

To provide a system and a method for free space estimation.SOLUTION: The present invention relates to a system and a method for assigning a free space probability by estimating a free space in point group data associated with an autonomous vehicle travelling on a surface while including considering sensor noise, sensor availability, an obstacle height and a distance from a sensor to an obstacle. The system and the method may include determining a surface plane especially among the other factors and classifying point group points in accordance with whether or not a point is on the surface plane.SELECTED DRAWING: None
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] (Cross-reference of related applications) This patent application claims the interests of U.S. Provisional Patent Application No. 62 / 879,391 (Patent Attorney No. AA027), filed on 26 July 2019, titled "System and Method for Free Space Estimation," which is incorporated herein by reference as a whole.

[0002] Vehicles travel on surfaces determined by their human operators to include free, unobstructed space. Humans use a complex set of criteria to decide whether to traverse a path within or over the vehicle. Considerations may include, but are not limited to, any number of factors such as ambient lighting, weather, and windshield issues, the degree of obstacle height, the amount of obstacle visible to the human, the area around the vehicle that is not visible to the human, and the degree to which the human visual system is accurate in detecting obstacles.

[0003] Navigating obstacles in autonomous vehicles may require electronically evaluating some of the same complex criteria routinely encountered by human vehicle operators. Unobstructed (free) space must be rapidly determined from available sensor data about the autonomous vehicle in order to proceed continuously along the navigation path. Previously, free space was estimated from stereo camera data, from sequences of images in video acquired by camera systems, and from millimeter-wave radar, among other methods.

[0004] What is needed is an efficient system that calculates the probability of the path being obstructed from sensor data. The sensors that collect the data can, for example, be mounted on an autonomous vehicle. What is needed is a system that takes into account the realities of road conditions and sensor limitations. [Overview of the project] [Means for solving the problem]

[0005] The system and method of this teaching for assigning free-space probabilities in point cloud data associated with an autonomous vehicle moving on a surface includes considering sensor noise, sensor availability, obstacle height, and distance from the sensor to the obstacle. The method of this teaching may include, but is not limited to, receiving point cloud data from a sensor. The sensor may include a sensor beam, which may be projected at least from the sensor onto a surface. In some configurations, the sensor may scan an area surrounding the autonomous vehicle and collect data in a cone from the surface over a pre-selected angle. The method may include segmenting the point cloud data into segments of a first pre-selected size and locating planes, plane points within planes, and non-planar points associated with at least one of the plane points in the point cloud data. The method may include determining normals to plane points and determining non-planar points associated with plane points. The method may include selecting at least one of several planes as a surface plane according to pre-selected criteria, based at least on the normal and the location of the sensor; classifying each of the plane points as an obstacle point, based at least on associated non-planar points; and determining the obstacle height associated with the obstacle point, based at least on the non-planar points. The method may also include creating a grid from the surface plane. The grid may include a pre-selected number of cells and a perimeter. The method may include calculating the measurement significance for each cell, based at least on the obstacle height within the cell; and determining the blind distance from the sensor, based at least on the intersection between the sensor beam and the surface plane. For each cell along the line between the blind distance and the perimeter, the method may include calculating the initial probability of an obstacle occupying the cell along the line. The initial probability may be based at least on the sensor availability, the obstacle points within the cell, and the position of the cell along the line relative to the sensor.For each cell along the line between the blind distance and the perimeter, the method may include calculating a noise coefficient based on at least a first distance between the sensor and the nearest obstacle along the line within the cell, a second distance between the sensor and the cell along the line, the measurement significance for the cell along the line, the initial probability for the cell along the line, and the default probability. For each cell along the line between the blind distance and the perimeter, the method may also include calculating the current probability of an obstacle occupying the cell along the line. The current probability may be based on at least the initial probability for the cell and the noise coefficient for the cell.

[0006] The first pre-selected size may optionally include a shape of approximately 40m x 40m x 2m. The pre-selected criterion may optionally include selecting a surface plane when the normal of at least one plane is not directed towards the sensor. The pre-selected number of cells may optionally include 400 x 400 cells. Calculating the initial probability can optionally include the following: (a) If the sensor is unavailable and the cell is a neighboring cell, the neighboring cell is in the blind distance neighborhood, and the initial probability of the cell can optionally be equal to 1.0; (b) If the sensor is unavailable and the cell is between a neighboring cell and the outer perimeter, the initial probability of the cell can optionally be equal to 0.5; (c) If the sensor is available and at least one of the obstacle points is present in the cell, or if one of the previously encountered cells along the line contains at least one of the obstacle points, the initial probability of the cell can optionally be equal to 0.5; (d) If the sensor is available, none of the obstacle points are present in the cell, and none of the previously encountered cells along the line contain at least one of the obstacle points, the initial probability of the cell can optionally be equal to 0.3. The noise coefficient can optionally be [ka] It can be equal to, where d = the second distance, and Z t= This is the first distance, and σ = Z t 2 The multiplier is ×0.001. The current probability can optionally be equal to the sum of the noise coefficient for the cell and the initial probability of the cell. At least one plane can optionally contain non-planar points up to a first pre-selected distance from at least one plane. The first pre-selected distance can optionally include 2m.

[0007] The system of this teaching for assigning free-space probabilities from point cloud data may include, but is not limited to, a sensor having a sensor beam. The sensor beam can be projected at least from the sensor onto a surface. The system may include a segment processor that receives point cloud data from the sensor. The segment processor segments the point cloud data into segments of a first pre-selected size. The system may include a plane processor that locations planes, plane points within planes, and non-planar points associated with at least one of the plane points within the point cloud data. The system may include a normal processor that determines normals to plane points and determines non-planar points associated with plane points. The normal processor may select at least one of the planes as a surface plane according to a pre-selected criterion, based at least on the normals and the location of the sensor. The normal processor may classify each of the plane points as an obstacle point based at least on the associated non-planar points. The normal processor may determine the obstacle height associated with the obstacle points based at least on the non-planar points. The system may include a grid processor that creates a grid from the surface plane. The grid may include a pre-selected number of cells and a perimeter. The system may include a line sweep processor, which may include a measurement significance processor. The measurement significance processor can calculate the measurement significance for each cell, based at least on the height of obstacles within the cell. The line sweep processor may include an initial probability processor that determines the blind distance from the sensor, based at least on the intersection of the sensor beam and the surface plane. For each cell along the line between the blind distance and the perimeter, the initial probability processor may calculate the initial probability of obstacles occupying the cell along the line. The initial probability may be based at least on the availability of the sensor, the location of obstacles within the cell, and the position of the cell along the line relative to the sensor. The line sweep processor may include a noise coefficient processor.For each cell along the line between the blind distance and the perimeter, the noise coefficient processor can calculate a noise coefficient based on at least a first distance between the sensor and the nearest obstacle along the line within the cell, a second distance between the sensor and the cell along the line, the measurement significance for the cell along the line, the initial probability for the cell along the line, and the default probability. The line sweep processor may include a current probability processor. For each cell along the line between the blind distance and the perimeter, the current probability processor can calculate the current probability of an obstacle point occupying the cell along the line. The current probability can be based on at least the initial probability for the cell and the noise coefficient for the cell.

[0008] In some configurations, a method for assigning free-space probabilities in sensor data relating to an autonomous vehicle may, but are not limited, include determining at least one surface plane in the sensor data, the at least one surface plane may be associated with the surface the autonomous vehicle is traveling on. The method may include, in the sensor data associated with the at least one surface plane, determining obstacles if present, determining the height of the obstacles if present, and determining the blind distance from the autonomous vehicle based on at least the dimensions of the autonomous vehicle. The method may include creating a grid on the at least one surface plane, the grid may include a pre-selected number of cells and a perimeter. For each cell along each line on the at least one surface plane between the blind distance and the perimeter, the method may include calculating an initial probability of an obstacle occupying the cell along the line. The initial probability may be based on at least the availability of the sensor data, obstacles in the cell, and the position of the cell along the line relative to the autonomous vehicle. For each cell along the line between the blind distance and the perimeter, the method may include calculating a noise coefficient based on at least a first distance between the autonomous vehicle and the nearest obstacle along the line within the cell, a second distance between the autonomous vehicle and the cell along the line, the obstacle height for the cell along the line, the initial probability for the cell along the line, and the default probability. For each cell along the line between the blind distance and the perimeter, the method may include calculating the current probability of an obstacle occupying the cell along the line, the current probability may be based on at least the initial probability for the cell and the noise coefficient for the cell.

[0009] An optionally selected number of cells can, optionally, include 400×400 cells. Calculating the initial probability can, optionally, include the following, that is, (a) when the sensor data is unavailable and the cell is a neighboring cell, the neighboring cell is in the vicinity of the blind distance, and the initial probability of the cell can, optionally, be equal to 1.0; (b) when the sensor data is unavailable and the cell is between a neighboring cell and the outer periphery, the initial probability of the cell can, optionally, be equal to 0.5; (c) when the sensor data is available and at least one of the obstacles exists within the cell, or one of the cells along the previously encountered line contains at least one of the obstacles, the initial probability of the cell can, optionally, be equal to 0.5; (d) when the sensor data is available and none of the obstacles exist within the cell and none of the previously encountered cells along the line contain at least one of the obstacles, the initial probability of the cell can, optionally, be equal to 0.3. Calculating the noise coefficient can, optionally, [Chemical formula] can be equal to, where d = the second distance and Z t = the first distance and σ = Z t 2 ×0.001. Calculating the current probability can, optionally, be equal to the sum of the noise coefficient of the cell and the initial probability of the cell. At least one surface plane can, optionally, include non-planar points up to a first preselected distance from at least one surface plane. The first preselected distance can, optionally, include 2 m. The method can, optionally, include determining the obstacle height based at least on the non-planar points.

[0010] In an alternative configuration, free-space estimation from LIDAR data, where the LIDAR data includes rings, may include, but are not limited to, receiving the LIDAR data and filtering a pre-selected number of points within each ring. Filtering may include identifying the median of each pre-selected number of points and reserving points that lie within a pre-selected range from the median. Among the reserved points, there may be discontinuities where the Cartesian distance between the points exceeds a pre-selected value. Points between discontinuities are labeled as good points if they pass the median filter. Good points can be expected to have low sensor noise. If the number of good points between discontinuities exceeds a pre-selected value, those good points are reserved. Discontinuities or breaks may be found at the edges of features, and therefore edges may be found when there is a sharp change in the distance between points.

[0011] At this point, each filtered point can be associated with a LIDAR ring. Each filtered point data can be divided into 64 point segments. A random segment is selected, and two points from the random segment can be chosen. The two points can be intelligently selected based on how the points were labeled in the filtering process, i.e., good points and interruptions. For example, two points between two identical discontinuities can be selected. A third point is selected from an adjacent ring, and a plane is formed from the three points. The plane is evaluated against some pre-selected criteria according to an algorithm that can eliminate planes that are not significant or of interest. All points on adjacent LIDAR rings (the LIDAR ring corresponding to the third point) within the azimuth range of the first two points are evaluated as candidates to be included in the first expansion stage. The plane equation is calculated using the updated set of points. The points are then evaluated again to expand this plane along the point data structure axis corresponding to the LIDAR ring and azimuth. At each scaling stage, the orientation and residual error of the plane are checked. The residual error is calculated as the plane is fitted to the set of points, and the orientation is an angle check between the gravity vector and the plane's normal vector. Scaling on each side continues, for example, until the residual error for a new set of points along the direction of scaling toward an outward ring checks that the residual error for a new set of points added from that ring exceeds a threshold set, or until the edge of the point cloud is reached. When scaling stops, the orientation and residual error are checked again, and the plane is classified as either valid (orientation angle and residual error relative to the gravity vector within a pre-selected threshold range) or invalid. If valid, in some configurations, the plane can be assigned a score. Additional checks are completed to further filter the plane. For example, the number of times the process outline herein is performed can be compared to the desired maximum value that can be configured.The plane can be tested against a ground plane reference according to a scoring algorithm that can be used, for example, but not limited to, to assess the quality of the plane.

[0012] The last set of planes is used to compare with LIDAR data to determine whether the LIDAR data represents ground data or obstacle data. The plane is transformed into the reference frame of the autonomous vehicle, which is referred to herein as the base link frame, and a new plane equation is created. The optimal situation is when there are planes in all directions, i.e., in front of the autonomous vehicle, behind the autonomous vehicle, to the left of the autonomous vehicle, and to the right of the autonomous vehicle. If any plane is missing, the plane from the previous time when synchronized LIDAR data and the corresponding ground plane were received may be used until the plane becomes old. If the plane is old, no points will fit in the direction of the old plane. If there is no plane in any direction, a default X / Y plane can be used. In some configurations, if a plane has not been detected over a period of 7 iterations, a default plane where z + d = 0 can be used.

[0013] Once the ground planes are comparable, LIDAR points that are not within the pre-selected boundaries or that are above a certain height are filtered from the LIDAR data. The remaining points are converted to an autonomous vehicle reference frame, and points located within the LIDAR blind spots are filtered out. The converted points are classified according to whether they are within one of the previously determined ground planes. If a point is on a ground plane, it is marked as free space; otherwise, it is classified as an obstacle. The points are located on a grid map. If an obstacle already exists at that location, the height of the obstacle is added, and the number of obstacles at that location is incremented. For each location on the grid map, the probability of occupancy for each cell in the grid map depends on the distance of the cell to the sensor, LIDAR noise, measurement significance, whether the cell is on an obstacle, the presence of a measurement, free space, and whether the LIDAR is obstructed. The probability of occupancy, as calculated herein, follows Gaussian probabilities. The log odds for occupied locations are calculated for the probability of occupancy. The log odds increase as the obstacle approaches the autonomous vehicle and decrease as the obstacle moves further away from the vehicle. Beyond the LIDAR range, the log odds are marked as infinite. The present invention provides, for example, the following: (Item 1) A method for assigning free-space probabilities in point cloud data, wherein the point cloud data is associated with an autonomous vehicle moving on a surface, and the method is The method involves receiving point cloud data from a sensor, wherein the sensor has a sensor beam, and the sensor beam is projected at least from the sensor onto the surface. The point cloud data is segmented into segments of a first pre-selected size, The process involves locating a plane within the point cloud data, a plane point within the plane, and a non-planar point associated with at least one of the plane points. The normal to the aforementioned planar point is determined, and the non-planar point associated with the aforementioned planar point is determined, Selecting at least one of the planes as a surface plane according to pre-selected criteria based at least on the normal and the location of the sensor, Classifying each of the planar points as an obstacle point based at least on the associated nonplanar points, Determining the obstacle height associated with the obstacle point based at least on the non-planar point, Creating a grid from the aforementioned surface plane, wherein the grid has a pre-selected number of cells and a perimeter. The significance of the measurement for each cell is calculated based at least on the height of the obstacle within the cell, The blind distance from the sensor is determined based at least on the intersection point between the sensor beam and the surface plane, For each cell along the line between the blind distance and the outer circumference, the initial probability of an obstacle occupying the cell along the line is calculated, wherein the initial probability is based at least on the availability of the sensor, the location of the obstacle within the cell, and the position of the cell along the line relative to the sensor. For each cell along the line between the blind distance and the outer circumference, the noise coefficient is calculated based on at least the first distance between the sensor and the nearest obstacle along the line within the cell, the second distance between the sensor and the cell along the line, the measurement significance for the cell along the line, the initial probability for the cell along the line, and the default probability. For each cell along the line between the blind distance and the outer perimeter, the current probability of the obstacle occupying the cell along the line is calculated, wherein the current probability is based at least on the initial probability for the cell and the noise coefficient for the cell. Methods that include... (Item 2) The first pre-selected size is the method described in item 1, comprising approximately 40m x 40m x 2m. (Item 3) The method according to item 1, wherein the preselected criterion includes selecting the surface plane when the normal of the plane is not facing the sensor. (Item 4) The method according to item 1, wherein the preselected number of cells is 400×400. (Item 5) Calculating the initial probability includes: when the sensor is unavailable and the cell is a neighboring cell, the neighboring cell is in the vicinity of the blind distance and the initial probability of the cell = 1.0; when the sensor is unavailable and the cell is between the neighboring cell and the outer periphery, the initial probability of the cell = 0.5; when the sensor is available and at least one of the obstacle points exists in the cell, or one of the cells along the previously encountered line contains at least one of the obstacle points, the initial probability of the cell = 0.5; when the sensor is available and none of the obstacle points exist in the cell and none of the previously encountered cells along the line contain at least one of the obstacle points, the initial probability of the cell = 0.3. The method according to item 1. (Item 6) Calculating the noise coefficient includes:

Equation

number

number

number

number

number

number

number

number

number

number

number

number

[0014] This instruction will be easier to understand by referring to the following explanation, which is considered together with the accompanying drawings.

[0015] [Figure 1A] Figure 1A-1C is a flowchart of the process described in this instruction. [Figure 1B] Figure 1A-1C is a flowchart of the process described in this instruction. [Figure 1C] Figure 1A-1C is a flowchart of the process described in this instruction.

[0016] [Figure 2] Figure 2 is a schematic block diagram of the system described in this instruction.

[0017] [Figure 3] Figure 3 is a diagram illustrating the sensor configuration used in this instruction.

[0018] [Figure 4] Figure 4 is a pictorial representation of the segmented point cloud data used in this instruction.

[0019] [Figure 5] Figure 5 is a picture of the plane within the segmented data of this instruction.

[0020] [Figure 6] Figure 6 is a pictorial representation of the normal vectors in this instruction.

[0021] [Figure 7] Figure 7 is a diagram illustrating the obstacle points in this instruction.

[0022] [Figure 8] Figure 8 is a diagram illustrating the obstacle grid, blind radius, and sensor beam for this instruction.

[0023] [Figure 9] Figure 9 is a diagram illustrating the initial probabilities of this instruction.

[0024] [Figure 9A] Figure 9A is a diagram illustrating the probabilities when the sensor is unavailable.

[0025] [Figure 9B] Figure 9B is a pictorial representation of the probabilities when the sensor is available.

[0026] [Figure 9C] Figure 9C is a pictorial representation of the probabilities when a sensor is available and a cell contains an obstacle.

[0027] [Figure 10] Figure 10 is a pictorial representation of the current probabilities in this instruction.

[0028] [Figure 11A] Figures 11A and 11B are flowcharts of the method described in this instruction. [Figure 11B] Figures 11A and 11B are flowcharts of the method described in this instruction.

[0029] [Figure 12A] Figure 12A is a photographic representation of the LIDAR ring surrounding the autonomous vehicle.

[0030] [Figure 12B] Figure 12B is a pictorial representation of the steps of the method described in this instruction.

[0031] [Figure 13] Figure 13 shows a photographic representation of point selections on a LIDAR ring.

[0032] [Figure 14A] Figure 14A is a photographic representation of point selections on adjacent LIDAR rings.

[0033] [Figure 14B] Figure 14B is a pictorial representation of a further step in the method described in this instruction.

[0034] [Figure 15] Figure 15 is a photographic representation of phase 1 of the planar enlargement in this instruction.

[0035] [Figure 16] Figure 16 is a photographic representation of phase 2 of the planar enlargement in this instruction.

[0036] [Figure 17] Figure 17 is a pictorial representation of the LIDAR ring arc pattern formed by the ground plane discovered by the method described in this instruction.

[0037] [Figure 18] Figure 18 is a pictorial representation of the grid map update in this instruction.

[0038] [Figure 19]Figure 19 is a schematic block diagram of the second configuration of the system described in this instruction. [Modes for carrying out the invention]

[0039] Detailed explanation The system and method described in this instruction can estimate the free space surrounding an autonomous vehicle in real time.

[0040] Referring here to Figure 1A-1C, free space can be estimated from sensor data by sweeping 360° from a sensor placed at the center of the grid to the outer edge of the grid. Probabilities are calculated and each cell is associated with the log odds of its occupancy probability. The log odds can be forced to zero for all cells that are within the blind radius and do not have a probability of being occupied. The blind radius is the area around the sensor that is blocked by the autonomous vehicle. If a cell has already been moved to during the sweep, a new calculation can replace the previous calculation. For each cell, an initial probability can be assigned to it based on initially known information, such as whether the sensor beam was blocked or sensor data was unavailable for any reason, and whether obstacles may be found within the cell. For each cell moved to outside the blind radius, a noise coefficient can be calculated. The noise coefficient recognizes that sensor noise can increase based at least on the distance between the sensor and any obstacles encountered. For each cell, the initial probability and noise coefficient can be combined to generate the current probability for that cell, and the grid can incorporate log-odds probabilities. One advantage of drawing a line between the sensor and the perimeter of the grid is that it is possible to verify what the sensor detects using a single beam. Another advantage is that if no valid return is present along the line, it can be assumed that the sensor was blocked or unavailable along that line for some other reason.

[0041] Continuing to refer to Figure 1A-1C, a method 150 for assigning free-space probabilities in point cloud data, wherein the point cloud data can be associated with an autonomous vehicle moving on a surface, and the method may include, but is not limited to, receiving point cloud data from a sensor 151. The sensor may include a sensor beam, and the sensor beam may be projected from the sensor onto the surface at least. Method 150 may include segmenting the point cloud data into segments of a first pre-selected size 153, and locating planes, plane points in planes, and non-planar points associated with at least one of the plane points 155. Method 150 may include determining normals to plane points and determining non-planar points associated with plane points 157, and selecting at least one of the planes as a surface plane according to a pre-selected criterion, based at least on the normals and the location of the sensor 159. Method 150 may include classifying each of the planar points as an obstacle point based on at least the associated non-planar points 161, determining the obstacle height associated with the obstacle point based on at least the non-planar points 163, and creating a grid from the surface plane 165. The grid may include a pre-selected number of cells and a perimeter. Method 150 may also include calculating the measurement significance for each cell based on at least the obstacle height within the cell 167, and determining the blind distance from the sensor based on at least the intersection between the sensor beam and the surface plane 169. The measurement significance may optionally take a value ranging from approximately 0.09 to 1.0, calculated based on the sum of all obstacle heights within that cell. The higher the total height, the greater the significance of the measurement. In some configurations, measurement significance = 0.09 × (28.2 × sum of obstacle heights within the cell). In some configurations, the measurement significance may be limited to a range of 0.09 to 1.0.If, in 171, there are further lines to be processed, and in 173, there are further cells in the line, and in 175, a cell does not have a current probability, method 150 may include calculating the initial probability of an obstacle occupying a cell along the line 179. If, in 175, a cell has a current probability, method 150 may include removing the current probability 177. The initial probability may be based on at least the availability of the sensor, the location of the obstacle in the cell, and the position of the cell along the line relative to the sensor. For each cell along the line between the blind distance and the perimeter, method 150 may include calculating a noise coefficient for the cell 181. The noise coefficient may be based on at least a first distance between the sensor and the nearest obstacle along the line in the cell, a second distance between the sensor and the cell along the line, the significance of the measurement for the cell along the line, the initial probability for the cell along the line, and the default probability. The default probability may include, but is not limited to, a value of 0.5.

[0042] For each cell along the line between the blind distance and the perimeter, method 150 may include calculating the current probability of an obstacle occupying the cell along the line 183. The current probability may be based on at least the initial probability for the cell and the noise coefficient for the cell. The first pre-selected size may optionally include approximately 40m × 40m × 2m. The pre-selected criterion may optionally include selecting a surface plane such that the normal of at least one plane is not directed towards the sensor. The pre-selected number of cells may optionally include 400 × 400. Calculating the initial probability may optionally include the following: (a) If the sensor is unavailable and the cell is a neighboring cell, the neighboring cell is in the vicinity of the blind distance and the initial probability of the cell = 0.9; (b) If the sensor is unavailable and the cell is between a neighboring cell and the outer perimeter, the initial probability of the cell = 0.5; (c) If the sensor is available and at least one of the obstacle points is present in the cell, or if one of the previously encountered cells along the line contains at least one of the obstacle points, the initial probability of the cell = 0.5; (d) If the sensor is available and none of the obstacle points are present in the cell, and none of the previously encountered cells along the line contain at least one of the obstacle points, the initial probability of the cell = 0.3. Calculating the noise coefficient may optionally include the following: [ka] During the ceremony, d = the second distance, Z t = This is the first distance, σ=Z t 2 It is ×0.001. For example, Z tConsider the case where σ = 10 meters, d = 7 meters, and initial probability = 0.3. In this case, σ = 0.1, the exp value is approximately 0, and the noise coefficient is approximately 0. On the other hand, if the distance between the sensor and the observation is closer to the distance between the sensor and the cell, the noise coefficient will be non-zero. For example, Z t If σ = 0.1, d = 9.9 meters, measurement significance = 0.09, and initial probability = 0.3, then σ = 0.1 and the exp value is 0.6065. [ka] Therefore, sensor noise is given more importance when determining the cell occupancy probability. Calculating the current probability may optionally include adding the cell's noise coefficient to the cell's initial probability. At least one plane may optionally include non-planar points up to a first pre-selected distance from at least one plane. The first pre-selected distance may optionally include approximately 2 m.

[0043] Referring primarily to Figure 2, a system 100 for assigning free-space probabilities in point cloud data 117, wherein the point cloud data 117 can be associated with an autonomous vehicle 203 (Figure 3) moving on a surface 205 (Figure 3), and the system 100 may include, but is not limited to, a sensor 125 having a sensor beam 201 (Figure 3) that can be projected from the sensor 125 onto the surface 205 (Figure 3). The system 100 may also include, but is not limited to, a LIDAR free-space estimator 101, which may include a segment processor 103 that can receive the point cloud data 117 from the sensor 125 and segment the point cloud data 117 (Figure 4) into segments 115 (Figure 4) of a first pre-selected size x / y / z (Figure 4). The LIDAR free-space estimator 101 may include a plane processor 105 capable of locating a plane 121 (Figure 5), a plane point 131 (Figure 5) within the plane 121 (Figure 5), and a non-planar point 133 (Figure 5) associated with at least one of the plane points 131 (Figure 5). The LIDAR free-space estimator 101 may also include a normal processor 107 capable of determining a normal 123 (Figure 6) to a plane point 131 (Figure 6) and determining a non-planar point 135 (Figure 6) associated with the plane point 131 (Figure 6). The normal processor 107 may select at least one of the planes 121 (Figure 6) as a surface plane 122 (Figure 7) according to pre-selected criteria, based on at least the normal 123 (Figure 6) and the location of the sensor 125. The normal processor 107 can classify each of the planar points 131 as an obstacle point 124 based on at least the associated non-planar points 135 (Figure 7), and the normal processor 107 can determine the obstacle height 139 (Figure 7) associated with the obstacle point 124 (Figure 7) based on at least the non-planar points 135 (Figure 7). The LIDAR free-space estimator 101 may include a grid processor 109 that can create a grid 119 (Figure 8) from a surface plane 122 (Figure 7). The grid 119 (Figure 8) may include a pre-selected number of cells 137 (Figure 8) and a perimeter 138 (Figure 8). The LIDAR free-space estimator 101 may include a line sweep processor 111 that includes a measurement significance processor 113.The measurement significance processor 113 can calculate the measurement significance for each cell 137 (Figure 8) based on at least the obstacle height 139 (Figure 7) within each cell 137 (Figure 8).

[0044] Continuing primarily with reference to Figure 2, the line sweep processor 111 may include an initial probability processor 116 that can determine the blind distance 211 (Figure 3, 9) from the sensor 125 based on at least the intersection point between the sensor beam 201 (Figure 3) and the surface plane 205 (Figure 3). The initial probability processor 116 can calculate the initial probability 225 (Figure 9) of an obstacle occupying cell 137 (Figure 9) along line 223 (Figure 9) for each cell 137 (Figure 9) along line 223 (Figure 9) between the blind distance 211 (Figure 9) and the outer perimeter 138 (Figure 9). The initial probability 225 (Figure 9) can be based at least on the availability of the sensor 125, the obstacle point 124 (Figure 9) within cell 137 (Figure 9) if present, and the position of cell 137 (Figure 9) along line 223 (Figure 9) relative to the sensor 125. The line sweep processor 111 may include a noise coefficient processor 118 that can calculate a noise coefficient 227 (Figure 10) for each cell 137 (Figure 9) along line 223 (Figure 9) between the blind distance 211 (Figure 9) and the outer perimeter 138 (Figure 9), based on at least a first distance 229 (Figure 10) between the sensor 125 (Figure 10) and the nearest obstacle point 124 (Figure 10) along line 223 (Figure 10) within the cell 137 (Figure 10), a second distance 231 (Figure 10) between the sensor 125 (Figure 10) and the cell 137 (Figure 10) along line 223 (Figure 10), measurement significance for the cell 137 (Figure 10) along line 223 (Figure 10), an initial probability 225 (Figure 10) for the cell 137 (Figure 10) along line 223 (Figure 10), and a default probability. The line sweep processor 111 may include a current probability processor 119 that can calculate the current probability 239 (Figure 10) of an obstacle point 124 (Figure 10) occupying cell 137 (Figure 10) along line 223 (Figure 10) for each cell 137 (Figure 10) along line 223 (Figure 10) between the blind distance 211 (Figure 10) and the outer perimeter 138 (Figure 10). The current probability 239 (Figure 10) can be based on at least the initial probability 225 (Figure 10) for cell 137 (Figure 10) and the noise coefficient 227 (Figure 10) for cell 137 (Figure 10). The segment 115 (Figure 4) may optionally include a shape such as x=40m, y=40, and z=2m.The surface plane 122 (Figure 7) can be optionally selected because its normal vectors 123 (Figure 6) are not oriented toward the sensor 125 (Figure 6). The surface plane 122 (Figure 8) can optionally contain 400 cells in the x-direction and 400 cells in the y-direction.

[0045] Referring to Figure 9A, if sensor 126 becomes unavailable, the initial probability 225A for cell 243 along line 223A, which is the nearest neighbor at blind distance 211, can be set to 1.0. Cell 241 within blind distance 211 can have a probability set to 0 because the autonomous vehicle occupies the cell. Line 223A is the line that the sensor beam would cross if sensor 126 had not been blocked or otherwise unavailable. If sensor 126 becomes unavailable, the initial probability 225B for cell 245 along line 223A between cell 243 and the outer perimeter 138 can be set to 0.5.

[0046] Referring to Figure 9B, if sensor 125 is available, the initial probability 225B can be set to 0.5 if at least one of the obstacle points 124 is present in cell 247.

[0047] Referring here to Figure 9C, if sensor 125 is available, the initial probability 225B for cell 249 can be set to 0.5 if one of the cells previously encountered along line 223 during the crossing of line 223, for example, cell 247, contains at least one of the obstacle points 124. If sensor 125 is available and none of the obstacle points 124 are present in cell 252, for example, none of the previously encountered cells along line 223 contained at least one of the obstacle points 124, the initial probability 225C for cell 252 can be set to 0.3.

[0048] Referring to Figure 10, the noise coefficient 227 may depend, for example, on the sum of all obstacle heights 139 (Figure 7) within cell 137. The noise coefficient 227 is determined by the first distance Z t 229 squared, and the first distance Z t The difference between 229 and the second distance d231, and the initial probability 225, may be the basis for the current probability 239. The current probability 239 can be calculated as the sum of the initial probability 225 and the noise coefficient 227.

[0049] Referring here to Figures 11A and 11B, in an alternative configuration, free-space estimation using point cloud data may include locating the ground plane from the point cloud data, marking points from the point cloud as free space if they are located on the ground plane, and storing the obstruction and free-space designations within the occupied grid as log-odds data. Methods 250 for performing these functions may include, but are not limited to, receiving point cloud data from a sensor 251, filtering the data against the data median in one direction 253, creating a plane and scaling the plane to outliers 255, selecting significant planes 257, eliminating planes that do not meet a threshold score for the ground plane 259, and converting the plane to baselink coordinates 261. In 263, if planes representing the front, left, right, and rear points of the autonomous vehicle do not exist, method 250 may include using previously used planes that were available in the previous time step until a previously used plane has been used in this manner over a pre-selected number of iterations 265. If a previously used plane has been used up to a pre-selected number of iterations, a default plane may be used. In 263, if planes exist representing points in front, left, right, and rear of the autonomous vehicle, method 250 may include filtering out point cloud data that is not of interest 267, converting the point cloud points that have withstood the filtering to base link coordinates 269, and filtering out converted points that are too close to the autonomous vehicle 271. In 273, if the converted and filtered points are located within the ground plane, method 250 may include labeling the points as free space 275; otherwise, the points are labeled as obstacles. Depending on the point marking, method 250 may include labeling each cell on the grid map as free or occupied 277, calculating the log odds within the occupied grid 279, and setting the log odds to infinity 281 when the cell is beyond a point where the sensor is occupying.

[0050] Referring here to Figure 12A, point cloud data can be received as a 1D string 303 of points along each LIDAR ring 301 surrounding the autonomous vehicle 203. In some configurations, three 1D arrays can be used to store x, y, and z points. All points along the LIDAR ring can be stored in azimuth order, and the LIDAR rings can be stored sequentially in a row-first manner. Each ring can be divided into segments of 64 points of a pre-selected size, for example, 64 points, but not limited to.

[0051] Referring here to Figure 12B, the 1D string 303 can be filtered according to a process that may include, but is not limited to, filtering the 1D string 303 around the median of the points in each LIDAR data ring. Filtering may include locating points with measurements close to the median and excluding the remaining points for the main part of the analysis. In some configurations, a value close to the median is less than 0.1m from the median. Points that pass the median filter may be called the first class of points. Discontinuities in the point data may be found along the median. Discontinuities can be identified in any preferred way, for example, by calculating the Cartesian distance between points, comparing the distance to a first pre-selected threshold, and identifying the data discontinuity 309A / 309B (Figure 12B) or edge as the second class of points when the distance between points exceeds the first pre-selected threshold. In some configurations, discontinuities occur when, abs(D2-D1)>0.08×2×A During the ceremony, P1 = the last good point. P3 = the point being tested. P2 / P3 = continuous points, D1 = P2 is the distance between the sensor. D2 is the distance between P3 and the sensor. 2 = the number of points since the last good score. A = (D1 + D2) / 2

[0052] Points between discontinuities 309A / 309B (Figure 12B) are counted, and if the number of points exceeds a second pre-selected threshold, they can be labeled as a third class of points. In some configurations, the second pre-selected threshold can include eight points. Points located between other pairs of discontinuities can be discarded.

[0053] Referring here to Figure 13, significant planes are expected to fit the terrain around the autonomous vehicle. They have relatively low residual error, are sufficiently large, and generally represent the contact points around the autonomous vehicle. In some configurations, the residual error threshold can include 0.1. To determine significant planes, points such as a first point 305A and a second point 305B can be selected from points on the same ring. In some configurations, the first / second points 305A / B can be randomly selected from a third class of points located between adjacent discontinuities 309A / 309B. Other criteria can also be used to increase the probability that a point belongs to a significant plane.

[0054] Referring here to Figures 14A and 14B, a third point 305C can be selected from the adjacent ring 301B. The third point 305C may have an azimuth angle α3, which can be located between the azimuth angles α1 and α2 of the first point 305A and the second point 305B. The first / second / third points 305A / B / C form a plane having a defining equation, which can be evaluated with respect to its relationship to the gravity vector. In some configurations, evaluating the plane may include checking the orientation of the plane by selecting a plane having a normal vector of 60° or less with respect to the gravity vector provided by an inertial measurement sensor located on the autonomous vehicle, for example, but not limited to. As the plane is enlarged and points are added, the orientation angle may be reduced to 20°.

[0055] Referring now to Figure 15, all points remaining from the filtering step described herein can be evaluated in terms of their inclusion in polygon 313A. The edges of polygon 313A can be defined by the first / second points 305A / 305B and the ring 301A / B.

[0056] Referring here to Figure 16, the plane can be vertically expanded in four directions to form polygon 313B. Expanding the plane may involve evaluating points along azimuth angles that are increasingly farther from the originally selected polygon 313A of points in all four directions, such that they move away from the autonomous vehicle toward the ring. The plane can be expanded as described herein, and the plane equation can be updated based on the newly included points and evaluated with respect to orientation relative to gravity vectors. Each direction can be expanded independently until the residual error with respect to that side exceeds a threshold or until that side reaches the edge 323 of the point cloud. At that point, orientation and residual error checks can be performed, and if they pass, the plane can be classified as preliminaryly significant. Additional checks such as the number of points, the number of expansion cycles, the number of vertical expansion cycles, etc., may be performed to assist in further filtering. If a plane has undergone 10 lateral expansion cycles or 2 vertical expansion cycles and the plane is not considered significant, the plane expansion with respect to that plane can be terminated.

[0057] Referring here to Figure 17, data from ring 353 can be assessed as described herein to form plane 351. From a significant set of planes, surface planes can be identified by applying the planes to a scoring function, for example, but not limited to, the following: [ka] A scoring function can be used to assess the quality of a plane, with higher scores indicating more likely candidates, and planes that do not meet a pre-selected threshold being discarded.

[0058] Referring here to Figure 18, points within the ground plane can be classified as obstacles or free space, and the odds of occupancy at a particular location can be determined. The ground plane can include the right, left, front, and rear planes of the autonomous vehicle. Each plane is defined by its plane equation and its type. The coordinates of the planes are relative to the sensor location and must be transformed into the coordinate system of the autonomous vehicle, which is the baseline reference frame. Each ground plane has an equation of form ax + by + cz + d = 0, where the coefficients are a, b, c, and d. Rotation and translation are required to transform the ground plane equations into the base link reference frame. One matrix can provide the following transformations. [ka] From the coefficients, a unit vector can be constructed as follows: [ka] Furthermore, d can be normalized as follows: [ka] The transformed plane coefficients a, b, and c are as follows: [ka] The plane coefficient d can be transformed as follows: [ka] Furthermore, d and d' can be solved in the following equation. [ka] Therefore, the transformed plane equation is as follows: a'x+b'y+c'z+d'=0 (8) If a ground plane cannot be found in any direction, a previously used plane in the corresponding direction may be reused, provided that the previously used plane is not outdated. An old count can be maintained for each plane, and a previously used plane may be reused if this count does not exceed its old count, and if a new plane is not available in that direction. The X / Y planes, with plane coefficients a=0, b=0, c=1, and z+d=0, where d is obtained from the translation of z between the LIDAR and the baselink frame, are appended by default to the list of planes in the front, left, right, and rear. This is implemented as a fail-safe condition in the case where no ground plane is detected.

[0059] Referring here to Figure 18, the original point cloud data can be filtered according to, for example, the x-distance 327 and y-distance 325 from the autonomous vehicle and the height 329 above the surface. These parameters and their thresholds can be adjusted based on the application and circumference and height of the autonomous vehicle. In some configurations, the x-distance can include 12.8m and the y-distance can include 12.8m. The z-distance 329 can include a height above which the autonomous vehicle no longer has to worry about what obstacles may exist, for example, the height of the point is high enough so that the autonomous vehicle will not encounter the obstacle represented by the point. All points located between the blind area 331 and the boundary 325 / 327 and within the localized area up to height 329 are filtered from the sensor reference frame to the base link reference frame, i.e., x bl , y bl , z blThis is converted to (x,y,z). This transformation is obtained by multiplying the LIDAR point (x,y,z) by a transformation matrix [R|t] that includes rotation and translation between two reference frames, according to equation (2). Therefore, (x bl ,y bl ,z bl ) = [R|t] × (x, y, z). The Euclidean distance from the autonomous vehicle to each point is calculated. If the point satisfies the required boundary requirements, this is substituted into equation (7) for each ground plane and checked to see if the following inequality is satisfied. -Threshold ≤ a'x bl +b'y bl +c'z bl +d'≦+threshold (9) If the above conditions are met, point x bl , y bl , z bl This is thought to represent free space on grid map 333. Otherwise, point x bl , y bl , z bl This is thought to represent an obstacle on grid map 333. bl , y bl The location grid map 333 can be updated based on the result of performing equation (9). In particular, if the condition is met, the points x on the grid map 333 can be updated. bl , y bl The value in remains unchanged. If the condition is not met, point x on gridmap 333 bl , y bl The number of obstacles in is updated by 1, and the height of the obstacles is z bl Only the value is updated. In some configurations, the threshold can range from 4 to 10 inches (0.102m to 0.254m). In some configurations, the threshold can include 8 inches (0.203m).

[0060] Continuing to refer to Figure 18, for each cell 334 in the grid map 333, the log odds of the cell being occupied can be calculated based on a Gaussian probability, i.e., pMapCell, relating to the characteristics of the point, such as, but not limited to, the distance between cell 334 and sensor 336, noise from sensor 336 (possibly calculated by equation (1)), whether the cell contains a measurement, the significance of the measurement, whether the cell contains an obstacle, the distance between the obstacle and the autonomous vehicle, whether the cell contains free space, and whether the laser is blocked. The significance of the measurement is calculated as the product of the height of the obstacle in that cell, the basic significance, and the height normalizer. The basic significance and the height normalizer are empirically calculated constants. Thus, the higher the height of the obstacle, the higher the significance of the measurement. The log odds can be calculated according to the following equation (10). [ka] In some configurations, the pMapCell calculation differs with respect to cells based on pre-selected conditions. For each cell along the line 561 connecting the autonomous vehicle's position and end cell 565 on the grid map, if there is no valid return from the LIDAR sensor along the line 561 connecting the autonomous vehicle's position and end cell 565, something must be blocking the sensor. Therefore, the path of the autonomous vehicle should be blocked for safety reasons. For a cell that encloses a blind distance of 0.2m, pMapCell=PBlocked=0.9. This pMapCell value results in the maximum acceptable probability of occupation. For other cells, pMapCell=PUnknown=0.5. This value results in the maximum uncertainty of occupation. When no obstacles are found along the line, this means that the line has free space, i.e., pMapCell=PMin=0.3, i.e., the minimum acceptable probability of occupation. When the autonomous vehicle encounters a cell containing an obstacle, the following occurs: pMapCell=pOccR+noiseFactor In the formula, pOccR = POnObstacle = 0.5, noiseFactor = ((measurementSignificance / (noiseStdDev × Root of 2Pi)) + POnObstacle - pOccR) × gausianNoiseExponential, noiseStdDev = z_t × LidarNoise squared, LidarNoise is an experimental constant, gausianNoiseExponential = pow(EXP, (-0.5 × pow(((d2Cell-z_t) / noiseStdDev), 2))), z_t = Euclidean distance from the autonomous vehicle to the obstacle, d2cell = Euclidean distance from the autonomous vehicle to the cell, measurementSignificance = BaseSignificance × (HeightNormalizer × Total_Obstacle_Height). When an autonomous vehicle encounters a cell in front of or beyond a cell containing an obstacle, the following occurs: pMapCell=pOccR+noiseFactor In the formula, pOccR = PMin = 0.5, noiseFactor = ((measurementSignificance / (noiseStdDev × Root of 2Pi)) + POnObstacle - pOccR) × gausianNoiseExponential, noiseStdDev = z_t × LidarNoise squared, LidarNoise is an experimental constant, gausianNoiseExponential = pow(EXP, (-0.5 × pow(((d2Cell - z_t) / noiseStdDev), 2))), where z_t is the Euclidean distance from the autonomous vehicle to the obstacle. d2cell = Euclidean distance from the autonomous vehicle to the cell, measurementSignificance = BaseSignificance. When an autonomous vehicle encounters a cell that has passed the last obstacle, or when a cell exceeds the last available measurement from the LIDAR, for example, beyond boundary 328, or point x out , y out When it is at 330, the following applies: pMapCell=1.0 (Result in infinite log odds) In some configurations, BaseSignificance and HeightNormalizer can be determined empirically. In some configurations, BaseSignificance = 0.09 and HeightNormalizer = 28.2.

[0061] Referring here to Figure 19, a system 600 for determining free space in a navigation path for an autonomous vehicle may include, but is not limited to, a ground plane processor 603 that determines a ground plane from point cloud data received from sensors, each ground plane being associated with a ground plane equation, and a sensor may have a sensor reference frame. The system 600 may also include a plane transformation processor 605 that transforms the ground plane equation from the sensor reference frame to a vehicle reference frame associated with the autonomous vehicle, a point transformation processor 607 that transforms points in the point cloud data from the sensor reference frame to a vehicle reference frame, a point labeling processor 609 that labels points in the point cloud data as free space if the transformed points satisfy the transformed ground plane equation, and a probabilistic processor 611 that provides occupied grid data to expand the occupied grid based on at least the labeled points. System 600 may optionally include executable code that includes computer instructions to substitute a default plane when none of the ground planes can be determined, to remove a point from the point cloud data if the point exceeds a pre-selected distance from the autonomous vehicle, to remove a point from the point cloud data if the point exceeds a pre-selected height based on at least the vehicle height of the autonomous vehicle, and to remove a point from the point cloud data if the point is within a pre-selected distance from the autonomous vehicle.

[0062] Continuing to refer to Figure 19, the ground plane processor 603 may optionally include, but is not limited to, a median processor 613 that calculates the median of at least two rings of point cloud data; a point cloud filter 615 that filters the point cloud data based on the distance of points in the point cloud data from at least the median; and a plane creation processor 617 that creates planes from the filtered point cloud data, each of which has at least one azimuth angle. The ground plane processor 603 may also include a plane expansion processor 619 that expands the planes created from the point cloud data that extend away from the autonomous vehicle along at least one azimuth angle; and a selection processor 621 that selects a ground plane from the expanded planes based on the orientation and residual error of each of the created planes. The plane creation processor 617 may include, but is not limited to, executable code that includes computer instructions for selecting a first point and a second point from a first ring of sensor data, wherein the first and second points are located within a boundary formed by discontinuities in the point cloud data on the first ring, the first point having a first azimuth angle, the second point having a second azimuth angle, selecting a third point from a second ring of sensor data, wherein the second ring is adjacent to the first ring, the third point having a third azimuth angle between the first and second azimuth angles, and creating one of a plane including the first point, the second point, and the third point.

[0063] Continuing to refer to Figure 19, the plane transformation processor 605 may optionally include executable code that includes computer instructions for calculating a unit vector from the coefficients of the ground plane equation, the ground plane equation including ax+by+cz+d=0, the coefficients including a, b, and c, the constant including d, normalizing the constant d, transforming the a, b, and c coefficients of the ground plane equation based on the rotation / translation matrix and the unit vector, and transforming the normalized constant d based on the normalized constant d, the rotation / translation matrix, the unit vector, and the transformed a, b, and c coefficients. The plane transformation processor 605 may optionally include, [ka] According to the formula, unit vectors are calculated from the coefficients of the ground plane equation, where the ground plane equation includes ax+by+cz+d=0, the coefficients include a, b, and c, and the constant includes d. [ka] According to this, the d constant is normalized, [ka] According to this, the coefficients a, b, and c of the ground plane equation are transformed based on the rotation / translation matrix and unit vectors. [ka] Accordingly, executable code may include computer instructions that transform the normalized d constant based on the normalized d constant, a rotation / translation matrix, a unit vector, and the transformed a, b, and c coefficients.

[0064] Continuing to refer to Figure 19, the point-marking processor 609 may optionally include executable code that includes a computer instruction to substitute each of the transformed point cloud points into the transformed ground plane equation, and to individually mark the transformed point cloud points as free space if the transformed point cloud points satisfy the transformed ground plane equation, i.e., -threshold ≤ a'x + b'y + c'z + d' ≤ +threshold. The probability processor 611 may optionally include executable code that includes a computer instruction to update the location on the grid map corresponding to the transformed point cloud points based on at least the results from the transformed ground plane equation, and to calculate the probability that a cell in the occupied grid contains an obstacle based on at least the grid map. The probability processor 611 may optionally include executable code that includes a computer instruction to update the location on the grid map corresponding to the transformed point cloud points based on at least the results from the transformed ground plane equation, and to calculate the probability that a cell in the occupied grid contains an obstacle based on at least the grid map, sensor noise, and obstacle height. The probability processor 611 optionally updates the location on the grid map corresponding to the transformed point cloud points, based at least on the results from the transformed ground plane equations. [ka] According to this, the probability that a cell in the occupied grid contains an obstacle is calculated, When the distance from the autonomous vehicle to the cell is within the sensor's blind spot, pMapCell = 0.9, When the line between the cell and the autonomous vehicle does not contain any obstacles, pMapCell = 0.3, For all other cells, pMapCell=0.5, When a cell that spatially coincides with an autonomous vehicle contains an obstacle, pMapCell = pOccR + noiseFactor, In the formula, pOccR = POnObstacle = 0.5, noiseFactor = ((measurementSignificance / (noiseStdDev × Root of 2Pi)) + POnObstacle - pOccR) × gausianNoiseExponential, noiseStdDev = z_t × LidarNoise squared, gausianNoiseExponential = pow(EXP, (-0.5 × pow(((d2Cell-z_t) / noiseStdDev), 2))), z_t = Euclidean distance from the autonomous vehicle to the obstacle, d2cell = Euclidean distance from the autonomous vehicle to the cell, measurementSignificance = BaseSignificance × (HeightNormalizer × Total_Obstacle_Height), LidarNoise, BaseSignificance, and HeightNormalizer include values ​​based on at least the autonomous vehicle and sensor configuration. When a cell that is spatially in front of or beyond an autonomous vehicle along a line contains an obstacle, pMapCell = pOccR + noiseFactor, In the formula, pOccR = PMin = 0.5, noiseFactor = ((measurementSignificance / (noiseStdDev × Root of 2Pi)) + POnObstacle - pOccR) × gausianNoiseExponential, noiseStdDev = z_t × LidarNoise squared, LidarNoise is an experimental constant, gausianNoiseExponential = pow(EXP, (-0.5 × pow(((d2Cell - z_t) / noiseStdDev), 2))), where z_t is the Euclidean distance from the autonomous vehicle to the obstacle. d2cell = Euclidean distance from the autonomous vehicle to the cell, measurementSignificance = BaseSignificance. LidarNoise, BaseSignificance, and HeightNormalizer include values, Executable code may include a computer instruction, pMapCell=1.0, where pMapCell=1.0 is set when a cell is spatially located along a line beyond the last obstacle or beyond the last point cloud data. BaseSignificance can optionally be equal to 0.09. HeightNormalizer can optionally be equal to 28.2.

[0065] The structure of this instruction applies to a computer system for carrying out the methods discussed herein and a computer-readable medium containing programs for carrying out these methods. Raw data and results can be stored, printed, displayed, transferred to another computer, and / or transferred to another location for future reading and processing. Communication links can be wired or wireless, for example, using cellular communication systems, military communication systems, and satellite communication systems. Parts of the system can run on a computer with a variable number of CPUs. Other alternative computer platforms can also be used.

[0066] This configuration also covers software for performing the methods discussed herein and computer-readable media for storing software for performing these methods. The various modules described herein may be performed on the same CPU or on different computers. In accordance with the law, this configuration has been described in more or less specific language with respect to its structural and methodological features. However, it should be understood that this configuration is not limited to the specific features shown and described herein, as the means disclosed herein constitute a preferred form for performing this configuration.

[0067] The method can be implemented electronically, either entirely or in part. Signals representing actions performed by the elements of the system and other disclosed configurations can be transmitted over at least one live communication network. Control and data information can be electronically executed and stored on at least one computer-readable medium. The system can be implemented to run on at least one computer node in at least one live communication network. Common forms of at least one computer-readable medium include, but are not limited to, floppy disks, flexible disks, hard disks, magnetic tape, or any other magnetic medium, compact disk read-only memory or any other optical medium, punch cards, paper tape, or any other physical medium with a pattern of holes, random access memory, programmable read-only memory, and erasable programmable read-only memory (EPROM), flash EPROM, or any other memory chip or cartridge, or any other medium from which a computer can read. Furthermore, at least one computer-readable medium may contain graphs in any form, provided that it is licensed appropriately as needed, including, but is not limited to, Graphics Interchange Format (GIF), Joint Photographic Expert Group (JPEG), Portable Network Graphics (PNG), Scalable Vector Graphics (SVG), and Tagged Image File Format (TIFF).

[0068] While these instructions have been described above in terms of specific configurations, it should be understood that they are not limited to these disclosed configurations. Many modifications and other configurations are intended to be recalled by those skilled in the art and are intended to be both present in this disclosure and the accompanying claims, and are covered therein. The scope of these instructions is intended to be determined by the proper interpretation and structure of the accompanying claims and their legal equivalents, so as to be understood by those skilled in the art relying on the disclosures in this specification and the accompanying drawings.

Claims

1. A method for assigning free-space probabilities in point cloud data for autonomous vehicle traverse, wherein the method is: The point cloud data is segmented into segments, Within the point cloud data, the location of a plane, a plane point within the plane, and a non-planar point associated with one of the plane points, Selecting one of the aforementioned planes as the surface plane for autonomous vehicle crossing, Based on the associated non-planar points, each of the planar points is classified as an obstacle point, Based on the associated non-planar points, the obstacle height for each obstacle point is determined, The blind distance to the surface plane is determined based on the intersection of projections from the autonomous vehicle onto the surface plane, For each cell along the line between the blind distance and the outer perimeter of the grid created from the surface plane, The initial probability of an obstacle occupying a cell along the aforementioned line is calculated based on the obstacle point within the cell, the position of the cell along the aforementioned line, and combinations thereof. The noise coefficient is calculated based on a first distance to the nearest obstacle along the line within the cell, a second distance to the cell along the line, the measurement significance of the cell along the line, the initial probability and default probability of the cell along the line, and combinations thereof, and The current probability of an obstacle occupying a cell along the aforementioned line is calculated based on the initial probability and the noise coefficient. To do Methods that include...

2. Calculating the aforementioned initial probability is, If the sensor is unavailable and the cell is a neighboring cell located near the blind distance, then the initial probability of the cell is 1.

0. If the sensor is unavailable and the cell is located between the neighboring cell and the outer perimeter, the initial probability of the cell is 0.

5. If the sensor is available and at least one of the obstacle points is present in the cell, or if one of the cells along the previously encountered line contains at least one of the obstacle points, then the initial probability of the cell is 0.

5. If the sensor is available, there are no obstacle points in the cell, and none of the cells encountered along the line contain the obstacle points, then the initial probability of the cell is 0.

3. The method according to claim 1, including the method described in claim 1.

3. Calculating the aforementioned noise coefficient is [Math 1] Includes, During the ceremony, d = the second distance, Z t = The first distance, σ = Z t 2 The method according to claim 1, wherein the multiplier is ×0.

001.

4. Calculating the current probability mentioned above is, The noise coefficient of the cell + the initial probability of the cell The method according to claim 1, including the method described in claim 1.

5. The method according to claim 1, wherein each of the planes includes the non-planar points at a certain distance from the plane.

6. A system for assigning free-space probabilities in point cloud data for autonomous vehicle traverse, wherein the system is A segment processor configured to segment the point cloud data, A planar processor configured to locate a plane, planar points within the point cloud data, and non-planar points associated with one of the planar points, An obstacle processor, wherein the obstacle processor is Selecting one of the aforementioned planes as the surface plane for autonomous vehicle crossing, Based on the associated non-planar points, each of the planar points is classified as an obstacle point, An obstacle processor is configured to determine the obstacle height associated with the obstacle point based on the non-planar point, A line sweep processor, wherein the line sweep processor is An initial probability processor, wherein the initial probability processor is Determining the blind distance, For each cell along the line between the blind distance and the outer perimeter of the grid created from the surface plane, the initial probability of an obstacle occupying the cell along the line is calculated based on the obstacle point within the cell, the position of the cell along the line, and combinations thereof. An initial probability processor configured to perform the following: A noise coefficient processor, wherein for each cell along the line between the blind distance and the outer circumference, A noise coefficient processor configured to calculate a noise coefficient based on a first distance to the nearest obstacle along the line within the cell, a second distance to the cell along the line, the measurement significance of the cell along the line, the initial probability of the cell along the line, the default probability, and a combination thereof. A current probability processor, the current probability processor configured to calculate the current probability of an obstacle point for each cell along each line between the blind distance and the outer perimeter, based on the initial probability and the noise coefficient; and a line sweep processor comprising: A system that includes, The aforementioned system The system further comprises a sensor having a sensor beam configured to project from the sensor onto the surface plane, wherein the blind distance is determined based on the intersection of the sensor beam and the surface plane.