Apparatus and method for determining representation of environment

By receiving sensor data to modify the occupancy grid cell value, using technologies such as Dempster Shafer combination rules and particle filters, the problem of high cost of high-density sensors is solved, and low-cost and efficient occupancy grid update is achieved.

CN120390891APending Publication Date: 2025-07-29JAGUAR LAND ROVER LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380087529.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-22
Filing Date
2023-12-15
Publication Date
2025-07-29

AI Technical Summary

Technical Problem

In the prior art, high-density sensors are used to update occupancy grids with cost and complexity problems, and it is desirable to use low-definition or density sensors to effectively update occupancy grids.

Method used

The control system receives sensor data, modify the cell value of the occupied grid to indicate that the uncertainty of the object position is not detected or the possibility of not being occupied is increased, and the occupied grid map is updated using technologies such as Dempster Shafer combination rules and particle filters.

Benefits of technology

Even when sensor measurements are sparse or have low resolution, the occupied grid map can be effectively updated, reducing sensor costs and improving update efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120390891A_ABST
    Figure CN120390891A_ABST
Patent Text Reader

Abstract

Aspects of the present disclosure relate to a control system for a vehicle (200), the control system including at least one controller (110) configured to: receive sensor data indicative of a position of one or more objects detected in an environment of the vehicle (200) from at least one sensor (160, 170); an occupancy grid (300, 600) stored in a memory accessible to the control system is modified from the sensor data, the occupancy grid representing an environment of the vehicle and having a plurality of cells (605), where each cell is associated with at least one value indicative of a likelihood that a corresponding portion of the environment is occupied by one of the one or more objects, where the at least one value indicates a likelihood that a corresponding portion of the environment is occupied by one of the one or more objects. The modification includes the control system configured to: determine (530, 540) one or more cells (690) occupying the grid within a field of view of the sensor for which sensor data does not indicate a position of the object; and modifying at least one value associated with the determined one or more cells occupying the grid to indicate an increase in the likelihood that the cells are not occupied by the object.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to determining an occupancy grid representing an environment. Aspects of the present invention relate to control systems, systems, vehicles, methods, and computer software. Background Art

[0002] A robot must determine information about its environment, such as information about objects in the environment. In cases where a robot is capable of autonomous movement, such as an autonomous vehicle or a vehicle with at least partial autonomous capabilities, information about objects is used for navigation to avoid the objects. It is well known that occupancy grids are used to store information about the environment, such as the location of objects in the environment. An occupancy grid represents the environment of the robot and has a plurality of cells, each cell representing a part of the environment and storing an indication of the occupancy probability of the corresponding part. Sensors associated with the robot (such as a vehicle) provide measurement data indicating the location of objects, and the measurement data is used to update the occupancy grid. In this way, the occupancy grid can be used to track dynamic objects in the environment.

[0003] Typically, sensors associated with a robot are high-definition sensors that provide dense measurement data related to the environment, such as dense point cloud data indicating objects. An example of such a high-definition sensor is a 64-lidar sensor. Due to this high density, it is also possible to reliably infer the absence of objects, such as empty spaces. However, such high-definition or high-density sensors have associated costs and complexities. It is desirable to update the occupancy grid using low-definition or low-density sensors.

[0004] The object of the present invention is to solve one or more drawbacks associated with the prior art. Summary of the Invention

[0005] Aspects and embodiments of the present invention provide control systems, systems, vehicles, methods, and computer software as claimed in the appended claims.

[0006] According to one aspect of the present invention, a control system for a vehicle is provided, the control system comprising at least one controller configured to: receive sensor data from at least one sensor indicating the location of one or more objects detected in the vehicle's environment; and modify an occupancy grid stored in a memory accessible to the control system based on the sensor data, wherein the modification comprises the control system being configured to determine one or more cells of the occupancy grid within the sensor's field of view for which the sensor data does not indicate the location of an object. Advantageous knowledge that a cell is within the sensor's field of view indicates that an object, if present, has likely been detected. The control system may modify values associated with the determined one or more cells of the occupancy grid for which the sensor data does not indicate the location of an object.

[0007] According to one aspect of the present invention, a control system for a vehicle is provided, the control system comprising at least one controller configured to: receive sensor data from at least one sensor indicating the location of one or more objects detected in an environment of the vehicle; modify an occupancy grid stored in a memory accessible to the control system based on the sensor data, wherein the modification comprises the control system being configured to: determine one or more cells of the occupancy grid within a field of view of the sensor for which the sensor data does not indicate the location of an object; and modify values associated with the determined one or more cells of the occupancy grid to indicate an increased uncertainty associated with the determined one or more cells being occupied. Advantageously, the occupancy grid indicates cells corresponding to locations in the environment for which the uncertainty of occupancy increases due to occupancy of portions of the environment.

[0008] According to one aspect of the present invention, a control system for a robot is provided, the control system comprising at least one controller, the control system being configured to: receive sensor data from at least one sensor indicating the location of one or more objects detected in an environment of a vehicle; determine one or more cells of an occupancy grid in which a field of view of the sensor is occluded by at least one of the one or more objects; and modify at least one value associated with the determined one or more cells of the occupancy grid to indicate an increased uncertainty that the cell is occupied by an object. Advantageously, the occupancy grid indicates cells corresponding to locations in the environment for which the uncertainty of occupancy increases due to the occupancy of a portion of the environment.

[0009] According to one aspect of the present invention, a control system for a vehicle is provided, the control system comprising at least one controller configured to: receive sensor data from at least one sensor indicating the location of one or more objects detected in an environment of the vehicle; modify an occupancy grid stored in a memory accessible to the control system based on the sensor data, the occupancy grid representing the environment of the vehicle and having a plurality of cells, wherein each cell is associated with at least one value indicating a likelihood that a corresponding portion of the environment is occupied by one of the one or more objects, wherein the modification comprises the control system being configured to: determine one or more cells of the occupancy grid within a field of view of the sensor for which the sensor data does not indicate the location of the object; and modify the at least one value associated with the determined one or more cells of the occupancy grid to indicate an increased likelihood that the cell is not occupied by the object. Advantageously, the occupancy grid indicates cells corresponding to locations in the environment for which the likelihood of the cell being unoccupied is increased because the portion of the environment is within the field of view of the sensor, but the sensor data does not indicate the location of the object.

[0010] According to one aspect of the present invention, a control system for a vehicle is provided, the control system comprising at least one controller configured to: receive sensor data from at least one sensor indicating the location of one or more objects detected in an environment of the vehicle; modify an occupancy grid stored in a memory accessible to the control system based on the sensor data, the occupancy grid representing the environment of the vehicle and having a plurality of cells, wherein each cell is associated with at least one value indicating a likelihood that a corresponding portion of the environment is occupied by one of the one or more objects, wherein the modification comprises the control system being configured to: determine one or more cells of the occupancy grid within a field of view of the sensor for which the sensor data does not indicate the location of the object; and modify the at least one value associated with the determined one or more cells of the occupancy grid to indicate an increased likelihood that the cell is not occupied by the object. Advantageously, the occupancy grid indicates cells corresponding to locations in the environment for which the likelihood of the cell being unoccupied is increased because the portion of the environment is within the field of view of the sensor, but the sensor data does not indicate the location of the object.

[0011] One or more cells of the occupancy grid within the field of view of the sensor, for which the sensor data does not indicate the location of an object, may be assumed to be empty cells. Advantageously, a cell is assumed to be empty because the sensor data does not indicate the location of an object corresponding to the cell.

[0012] The modification optionally includes the control system being configured to: determine one or more cells of the occupancy grid where the field of view of the sensor is occluded by at least one of the one or more objects; and modify at least one value associated with the determined one or more cells of the occupancy grid to indicate an increased uncertainty that the cell is occupied by the object. Advantageously, the at least one value is modified due to the occupancy of a portion of the environment by the sensor.

[0013] At least one of the one or more objects may have a location corresponding to at least one other cell of the occupancy grid. Advantageously, the location of the object is associated with at least one other cell of the occupancy grid. One or more cells of the occupancy grid where the sensor's field of view is obscured may be occluded cells. Advantageously, occluded cells are identified as cells within the field of view, but the sensor is unable to determine the location of the object. One or more cells of the occupancy grid where the sensor's field of view is obscured by at least one of the one or more objects are determined to be in the shadow of one of the one or more objects detected in the vehicle's environment. Advantageously, the sensor may not be able to observe cells in the shadow.

[0014] The modification optionally includes the control system combining the predetermined idle quality value with the a priori idle quality for one or more cells of the occupancy grid within the field of view of the sensor, for which the sensor data does not indicate the location of the object. Advantageously, the combination introduces an updated value to the a priori idle quality.

[0015] The predetermined idle quality value may be equal to or greater than 0.7. The idle quality value may be equal to or greater than 0.9. Advantageously, the idle quality value may be a value at which the facilitation unit indicates that it is not occupied, ie has a relatively high idle quality.

[0016] The modification may include the control system combining a predetermined unknown mass value with a previously unknown mass for one or more cells of the occupancy grid within the field of view of the sensor, for which the sensor data does not indicate the location of the object. Advantageously, the unknown mass value may indicate that the occupancy of the cell is unknown.

[0017] The predetermined unknown mass value may be equal to or greater than 0.4. The unknown mass value may be approximately 0.5. Advantageously, the unknown mass value may indicate that the occupancy of the unit is unknown.

[0018] Optionally, setting the unknown quality includes setting an idle quality value and an occupied quality value associated with each cell to corresponding values such that the idle quality is equal to or greater than a predetermined value. The unknown quality value may correspond to a difference between the idle quality value and the occupied quality value associated with each cell. Advantageously, the idle quality value and the occupied quality value may be controlled.

[0019] The combining is optionally performed according to a Dempster Shafer combining rule. Advantageously, the Dempster Shafer combining rule allows for the combination of predetermined values and previous values.

[0020] The modification may include configuring the control system to: determine a field of view of the sensor based on one or more characteristics associated with the sensor; and select a cell of the occupancy grid corresponding to the field of view of the sensor. Advantageously, the field of view is determined based on the characteristics to resemble an actual field of view of the sensor.

[0021] The modification optionally includes the control system being configured to: determine a first field of view of the sensor; determine one or more cells of the occupancy grid within the first field of view of the sensor, for which the sensor data does not indicate a location of an object; determine a first cell of the occupancy grid within the first field of view of the sensor, the first cell corresponding to a location of one of the one or more objects detected in the environment of the vehicle; and determine a second field of view of the sensor based on one or more characteristics associated with the sensor and the location of the one of the one or more objects. Advantageously, the field of view is determined for each respective sensor.

[0022] The control system is optionally configured to determine one or more cells of the occupancy grid in which the field of view of the sensor is obscured by at least one of the one or more objects as cells in the shadow of one of the one or more objects detected in the vehicle's environment. Advantageously, the field of view does not extend to areas in the shadow, and thus the sensor cannot accurately determine occupancy of such cells.

[0023] The control system may be configured to sequentially select cells of the occupancy grid from the location of the sensor outwards to determine whether the sensor data indicates the location of the object. Advantageously, outward processing of cells allows efficient modification of cell values.

[0024] According to another aspect of the invention, there is provided a system for a vehicle, the system comprising: a control system as claimed in any preceding claim; and at least one sensor arranged to output sensor data indicative of the position of one or more objects detected in the environment of the vehicle.

[0025] The at least one sensor may include one or more of a radar sensor, a lidar sensor, and / or an optical sensor.

[0026] According to an aspect of the present invention, a vehicle is provided. The vehicle includes the control system as described above or the system as described above.

[0027] According to yet another aspect of the present invention, a computer-implemented method is provided, comprising: receiving sensor data from at least one sensor indicating the location of one or more objects detected in an environment of a vehicle; modifying an occupancy grid stored in a memory based on the sensor data, the occupancy grid representing the environment of the vehicle and having a plurality of cells, wherein each cell is associated with at least one value indicating a likelihood that a corresponding portion of the environment is occupied by one of the one or more objects, wherein the modification comprises: determining one or more cells of the occupancy grid within a field of view of the sensor, for which the sensor data does not indicate the location of the object; and modifying the at least one value associated with the determined one or more cells of the occupancy grid to indicate an increased likelihood that the cell is not occupied by the object.

[0028] The modification optionally includes: determining one or more cells of the occupancy grid in which the field of view of the sensor is occluded by at least one of the one or more objects; and modifying at least one value associated with the determined one or more cells of the occupancy grid to indicate an increased uncertainty that the cell is occupied by the object.

[0029] The modification optionally comprises combining the predetermined idle mass value with the a priori idle mass for one or more cells of the occupancy grid within the field of view of the sensor, for which the sensor data does not indicate a position of the object.

[0030] The predetermined idle quality value may be equal to or greater than 0.7.

[0031] The modification may comprise combining predetermined unknown mass values with the previously unknown masses for one or more cells of the occupancy grid within the field of view of the sensor for which the sensor data does not indicate a position of the object.

[0032] This combination can be made according to the Dempster Shafer combination rules.

[0033] The modifying optionally includes determining a field of view of the sensor based on one or more characteristics associated with the sensor; and selecting a cell of the occupancy grid corresponding to the field of view of the sensor.

[0034] The modification optionally includes: determining a first field of view of the sensor; determining one or more cells of an occupancy grid within the first field of view of the sensor, for which the sensor data does not indicate a location of an object; determining a first cell of the occupancy grid within the first field of view of the sensor, the first cell corresponding to a location of one of one or more objects detected in an environment of the vehicle; and determining a second field of view of the sensor based on one or more characteristics associated with the sensor and the location of the one of the one or more objects.

[0035] According to a further aspect of the present invention, there is provided computer software which, when executed by a computer, is arranged to perform the method as described above.A computer readable data storage medium may tangibly store the computer software thereon.

[0036] It is expressly intended that the various aspects, embodiments, examples and alternatives, and in particular the individual features thereof, set forth in the preceding paragraphs, in the claims, and / or in the following description and drawings may be employed independently or in any combination within the scope of this application. That is, all embodiments and / or features of any embodiment may be combined in any manner and / or combination, unless such features are incompatible. Applicants reserve the right to amend any originally filed claim or to file any new claim accordingly, including the right to amend any originally filed claim to make it dependent on any other claim and / or to incorporate any features of any other claim, even though not originally claimed in this manner. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] One or more embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:

[0038] Figure 1 A system according to an embodiment of the present invention is shown;

[0039] Figure 2 A vehicle according to an embodiment of the present invention is shown;

[0040] Figure 3 shows a diagram of an occupancy grid according to an embodiment of the present invention;

[0041] Figure 4 A method according to an embodiment of the present invention is shown;

[0042] Figure 5 A method according to another embodiment of the present invention is shown;

[0043] Figure 6 a diagram showing an occupancy grid according to another embodiment of the present invention; and

[0044] Figure 7 Shows the probability according to an embodiment of the present invention. Detailed implementation

[0045] Refer to Figure 1 , shows a system 100 according to an embodiment of the present invention. As Figure 2 shown, according to an embodiment of the present invention, the system 100 is used with a robot such as a vehicle 200. The vehicle 200 is an example of a robot having the ability to autonomously move or navigate to navigate in the environment where the vehicle 200 is located. For example, the vehicle 200 may have a level 4 or 5 autonomous ability as defined by SAE International. The vehicle 200 may include the system 100 as part of providing such ability. Although the embodiments of the present invention are described with respect to such a vehicle 200, it should be understood that the embodiments of the present invention are not limited to this aspect.

[0046] The system 100 is arranged to determine an occupancy grid 300 related to the environment of the vehicle 200. The occupancy grid 300 represents the environment of the vehicle 200 and has a plurality of cells, each cell representing a part of the environment and associated with a probability indicating the occupancy of the corresponding part corresponding to the cell. It should be understood that the occupancy grid is useful for navigating the vehicle 200 in the environment, for example, for tracking the movement of one or more objects in the environment.

[0047] Figure 3 Shows an example representation of an occupancy grid or occupancy grid map 300. The occupancy grid map 300 and the cells forming part of the occupancy grid map 300 are defined by parameters that define their dimensions, so that the size and resolution of the occupancy grid map 300 can be selected for each specific use case. In Figure 3 the example, the size of the occupancy grid map 300 is 8×8 and is thus formed by 64 cells. The occupancy grid map 300 is selected to have a cell size of 1m×1m, and thus the example square occupancy grid map 300 has sides of length 8m and represents 64m 2environment area. It should be understood that the occupancy grid map 300 shown is relatively small for practical applications, and larger occupancy grid maps are typically used, such as an occupancy grid map of 120m×120m, but embodiments of the present invention are not limited in this respect. The occupancy grid map 300 is formed by rows and columns that can each have a corresponding number of cells. In some embodiments, each cell has a linear cell index as shown, which can start from 0 for a cell in a corner, such as the upper left corner of the occupancy grid map 300 as shown. In some embodiments, it is assumed that the vehicle 200 is located at the center of the occupancy grid 300, as indicated by the arrow shown. In such embodiments, a relative coordinate space system can be used, in which cells in front of the vehicle are assigned positive x-coordinate values and cells to the left of the vehicle are associated with positive y-coordinate values. Such a coordinate space can be referred to as an EGO relative coordinate space.

[0048] Figure 1 The illustrated system, according to an embodiment of the present invention, is arranged to output data indicative of an occupancy grid map 300 for use in navigating vehicle 200. As will be explained, occupancy grid map 300 is determined based on sensor measurement data indicative of the environment of vehicle 200, provided by one or more sensors associated with vehicle 200. At least some of the one or more sensors may provide sensor measurement data indicating the detection of an object whose location corresponds to one or more cells in occupancy grid map 300 (an object may be determined to correspond to more than one cell). In an embodiment of the present invention, the field of view (FOV) of at least one of the sensors is determined, and for any cell within the sensor's FOV for which the sensor measurement data does not indicate the location of an object, the data associated with the cell is updated or modified to indicate an increased likelihood that the cell is unoccupied by an object. This enables the determination of a robust occupancy grid map 300 even when the sensor measurement data is sparse or of low resolution. Using the sensor's FOV in determining occupancy grid map 300 is intended to ensure that a portion of the environment within the sensor's field of view is determined to be free space.

[0049] Figure 1 The illustrated system 100 includes one or more controllers 110. In the illustrated example, the system 100 includes one controller 110, but it should be understood that embodiments of the invention are not limited in this respect. The controller 110 is arranged to output data 155 indicative of an occupancy grid map 300, in use.

[0050] Each controller 110 may include respective processing means 120, such as an electronic processing means 120 or a computer processor, hereinafter referred to as the processor 120. The processor 120 is arranged to execute, in operation, computer-readable instructions that may be stored in a memory means 130 formed by one or more memory devices 130, which forms a memory 130 communicatively coupled to the processing means 120. The controller 120 includes an input device 140 and an output device 150. The input device 140 may include an electrical input 140 of the controller 110. The output device 150 may include an electrical output 150 of the controller 110. In some embodiments, the input device 140 and the output device 150 may be unified, for example, in the form of a network interface, and the input device 140 and the output device 150 input and output data to and from a communication bus of the vehicle 200, respectively. Thus, the controller 110 may receive data from the communication bus and output data to the communication bus. In some embodiments, the input device 140 is arranged to receive sensor measurement data 145 from one or more sensors 160, 170 associated with the vehicle 200. In an example, the system 100 includes a first sensor 160 and a second sensor 170, but it should be understood that this is only an example. At least some of the sensors 160, 170 may emit radiation from a laser, for example, and receive the radiation reflected from an object via a photodiode or the like. The reflected radiation is used to determine points corresponding to the object, where each set of points corresponding to the reflection of the radiation forms a point cloud. Data indicating the detection of the object is provided to the controller 110 as the sensor measurement data 145.

[0051] The processor 120 is arranged to store data indicating the occupancy grid map 300 in the memory 130. The processor 120 is arranged to update or modify the occupancy grid map 300 based on the incoming sensor measurement data 145. The fusion of the incoming sensor measurement data with the occupancy grid may be performed by dynamic occupancy grid map (DOGMa) processing. The DOGMa processing 300 may be performed at periodic time intervals based on the received sensor measurement data 145. A time interval variable may be used to represent the time between iterations or cycles of the DOGMa processing as illustrated in block 410 of method 400 shown in Figure 4 combination. The DOGMa processing provides a method for fusing sensor data in a dynamic occupancy grid map. More details about the DOGMa processing are provided by D. Nuss in the doctoral thesis "ARandom Finite Set Approach for Dynamic Occupancy Grid Maps", which was also published in the International Journal of Robotics Research in 2018, and this doctoral thesis is incorporated herein by reference.

[0052] Embodiments of the present invention are described in conjunction with the DOGMa process. However, it should be understood that other processes, such as using direct associations of cells to track horizontal fusion or Bayesian occupancy filtering, can be used to update or modify the occupancy grid, and the usefulness of embodiments of the present invention is not limited to the DOGMa process. Embodiments of the present invention operate according to the field of view of the sensor providing the sensor data to influence the values associated with at least some cells of the occupancy grid. In particular, as will be explained, embodiments of the present invention influence the probabilities associated with at least some free cells. In some embodiments, when at least some cells in the occupancy grid are occluded from the sensor's field of view, the values associated with these cells are influenced to indicate uncertainty associated with the cell's state. In this manner, not only are the values associated with cells whose locations correspond to detected objects updated, but also the values associated with cells assumed to be free or empty, as well as occluded cells. Advantageously, this improves the updating or modification of the occupancy grid and can, for example, allow the use of sensors with lower resolution, thereby reducing costs.

[0053] In some embodiments, a particle filter is used to model the state of the occupancy grid map 300. The particle filter maintains a list of particle states, one or more weights and cell indices, and the cell index of the occupancy grid map 300 to which the particle belongs. Each particle can be assigned a label as an identifier of the object (if any) to which the particle belongs. As will be explained, the next state of the particle is predicted and updated by the detection of the object in the sensor measurement data 145.

[0054] Reference Figure 4 The method 400 according to an embodiment of the present invention is described below. The method 400 may be executed by the processor 120 , and instructions representing the method may be stored in the memory 130 as computer-readable instructions.

[0055] A prediction operation is performed in block 410. The prediction operation predicts the new position of the particle and accordingly updates the cell of the occupancy grid map 300 associated with the particle.

[0056] In some embodiments, for the purpose of the prediction operation in block 410, a transition matrix is created using a time_step variable that indicates the periodic time interval between cycles of the method 400 for updating or modifying the occupancy grid map 300. A noise generation function can be used to create a process_noise matrix for modeling uncertainty in particle predictions. This can be performed using a randomly generated matrix with a configurable, i.e., selected, standard deviation.

[0057] In the particle prediction of block 410, the state of the particles used for DOGMa processing is predicted. The state can be represented by position and velocity, for example: x, y, vx, vy. For reasons of computational complexity, in some embodiments, a two-dimensional world is used where the z-axis is not modeled. State prediction can be performed by matrix multiplication between the current state and the transition matrix. In some embodiments, the process_noise matrix is added to the result of the multiplication to introduce uncertainty. For some particles near the edge of the occupancy grid map 300, when the velocity of these particles would cause them to cross the boundary in the next time step, these particles are predicted to leave the scope of the occupancy grid map 300. These particles are removed by DOGMa processing.

[0058] Whenever the prediction is performed in block 410, the weight of each particle may be reduced. This reduction can be performed by the multiplication of the weight matrix and the persistence_probability variable. The weight matrix is a matrix that can be used in some embodiments to store the weights associated with each particle. The weight matrix can be a 1×N matrix or vector, where N is the number of particles. Persistence_probability is a parameter that controls the lifespan of particles in DOGMa processing. Persistence_probability can have a value between 0.0 and 1.0, where 0.0 means the particle will not persist and 1.0 means the particle weight will not be reduced. Thus, a value between 0 and 1 is typically chosen. As a result of the prediction operation in block 410, each particle has an updated position and velocity. Since the particles have moved, the cell indices to which the particles are assigned are updated. The update of the cell indices can be performed by mapping the x, y state indicating the position of each particle to the position of the cell of the occupancy grid map 300 to which the particle belongs.

[0059] As those skilled in the art will understand, cell occupancy can use the basic belief assignment (BBA) from Dempster-Schafer theory. At the fundamental level of DOGMa processing, this means that variables can be maintained as follows: predicted_occupancy_mass, which represents the likelihood that a cell in the occupancy grid map 300 is occupied; and predicted_free_mass, which represents the likelihood that a cell in the occupancy grid map 300 is unoccupied or free. Here, in block 410, for each cell of the occupancy grid map 300, these masses can be determined using the particle weights assigned to each corresponding cell (e.g., the weights stored in the weight matrix). The BBA is then stored as a prior mass or prior BBA, which is subsequently used to determine the mass or posterior BBA for posterior calculations, as will be described. In other words, the prior BBA is updated before receiving measurements, and the posterior BBA is updated during the iterations of method 400.

[0060] In block 420, one or more sensors 160, 170 associated with the vehicle 200 detect any objects in the environment of the vehicle 200. Each sensor 160, 170 outputs sensor measurement data 145 indicative of any detected object, where the sensor measurement data 145 is received by the controller 110. In some embodiments, the sensor measurement data 145 is formed as a measurement grid map as discussed below. In some embodiments, the measurement grid map is another grid map that can match the dimensions of the DOGMa occupancy grid map 300, i.e., in this example, the measurement grid map 300 can be an 8×8 cell as Figure 3 described, but it should be understood that measurement grid maps of other sizes can be used.

[0061] In block 430, the detection of any object indicated by the sensor measurement data 145 received in block 420 is mapped onto the measurement grid map in block 420 and assigned to the cells of the measurement grid map. As discussed above, for at least some of the sensors 160, 170, the detection of an object in the sensor measurement data 145 is provided as a point cloud. The point cloud includes point data indicating the positions of the objects detected by the sensors 160, 170. The points in the point cloud have associated x, y, z localizations. In particular for a land robot or vehicle, the occupancy grid map 300 can be 2D, i.e., lacking the dimension z. Thus, the points in the point cloud can be "flattened". As part of the flattening, points having a z-axis value and located outside the region of interest associated with the vehicle may be removed. For example, points detected 20 meters above the EGO vehicle do not form part of the measurement grid map 300. Then, in block 430, the flattened points are mapped or assigned to the cells of the measurement grid map.

[0062] In block 440, a cell occupancy probability is determined for the cells of the measurement grid map. Each cell of the measurement grid map is associated with one or both of an occupancy mass and a free mass. In some embodiments, each cell of the measurement grid map, and each cell of the occupancy grid map, is associated with a value indicating the occupancy mass and a value indicating the free mass of the corresponding cell. The occupancy mass is the probability or confidence that the cell is occupied by an object, while the free mass is the probability that the cell is free or unoccupied. Based on these mass values, a value indicating an unknown mass or probability can be determined as the difference between the two mass values.

[0063] In some embodiments, the detection of an object in a cell increases the occupancy quality of one or more adjacent cells. In some embodiments, a 2D Gaussian kernel is created such that a detection in one cell of the measured grid map can improve the occupancy quality of adjacent cells. The Gaussian kernel generates a matrix, where the values within the cells of the matrix correspond to a Gaussian distribution with a mean of 0 and a standard deviation given by the sigma parameter. The occupancy quality of each cell of the measured grid map can be initialized to all zeros, and then a confidence that each cell is occupied is generated using a list of cells that contain detections from box 420. In some embodiments, the confidence can be generated by using matrix convolution of the Gaussian kernel applied to the measured grid map. A vector of occupancy quality is produced, which is used to generate the cell occupancy BBA for the occupancy grid map as described above. When the cell quality is updated or modified multiple times, such as when a cell is adjacent to two detections or when there are multiple detections in a cell, the Dempster-Schafer combination rule can be used. As a result of box 440, in some embodiments, each cell of the measured grid is associated with variables occupancy_mass and free_mass, where the variable occupancy_mass represents the likelihood that the corresponding cell of the measured grid map 300 is occupied, and the variable free_mass represents the likelihood that the corresponding cell is empty or free. In other embodiments, each cell can be associated with a data structure such as occupancy_bba that contains values corresponding to the values of occupancy_mass and free_mass.

[0064] In box 450, the field of view BBA combined with the BBA of the measured grid map determined in box 440 is determined. In box 450, for each of at least one of the one or more sensors 160, 170, the quality of the cell is affected by the FOV of the sensor. In particular, in some embodiments, in cells within the FOV of sensors 160, 170 where no object is detected, i.e., cells where no detected object exists, the quality of the cell is determined to indicate free. As will be described, in some embodiments, for cells within the FOV but occluded by an object and not visible to sensors 160, 170, since they are not visible to sensors 160, 170, their quality is determined to have a quality indicating unknown occupancy because the occupancy of the cell cannot be determined.

[0065] Figure 5 A method 500 of applying the FOV of sensors 160, 170 to a measured grid map according to an embodiment of the present invention is shown. Method 500 can be performed in box 450. Reference will be made to Figure 6A description is given of method 500. A measurement grid map 600 of sensors 160, 170 associated with a vehicle located at the origin 0, 0 (lower left corner) is shown. Thus, Figure 6 the shown ground Figure 1 part is located in the upper right of vehicle 200. The measurement grid map 600 shows, with diagonal shading, cells corresponding to the detection of an object, such as cell 640. As described above, method 500 is described in combination with Nuss's DOGMa processing, where it should be understood that its usefulness is not limited to DOGMa processing.

[0066] Referring Figure 5 , method 500 includes a block 510 that determines the cells of the measurement grid within the FOV of the sensors. In the example, the FOV of the sensors is described as conical. It will be understood that in other examples, the FOVs of sensors 160, 170 may have other shapes, such as circular, elliptical, or rectangular. Figure 6 The FOVs of sensors 160, 170 are shown as a conical shape 605 extending between a first boundary line 610 and a second boundary line 620, where the first boundary line 610 and the second boundary line 620 are located on each peripheral side of the conical shape 605 extending from the origin (0, 0) where sensors 160, 170 are located. The FOV 605 of sensors 160, 170 may be referred to as the first FOV 605.

[0067] In this embodiment, using the extrinsic parameters or characteristics of each sensor 160, 170, such as one or more of its position around the vehicle, angular resolution, and range, a FOV, the conical shape 605, is generated for each sensor 160, 170. The conical shape 605 represents the following area: except for the detection of an object and the occluded space behind the detection therein, the confidence that it is empty increases, as will be described. For the FoV of each sensor 160, 170, method 500 determines the FOV starting from the position of sensors 160, 170 relative to the center point of the EGO vehicle, such as the conical shape 605 in the example, and in some embodiments, the center point of the EGO vehicle may be the rear axle.

[0068] In some embodiments of method 500, the environment around the EGO vehicle is divided into a plurality of regions or sectors. In one embodiment, the environment is divided into eight partitions, but it should be recognized that other numbers of sectors may be used. Then, method 500 can be executed separately for each sector, which advantageously reduces the computational complexity. In some embodiments, the method can be executed at least partially in parallel for two or more sectors, which reduces the computational time. The FOV of each sensor 160, 170, such as the conical shape 605 projected by the sensor, may intersect multiple eight partitions, that is, the FOV of the sensor does not have to be limited to one sector. InFigure 6 In block 510, a cone 605 is projected onto a measurement grid map 600 that has been divided into cells of uniform size.

[0069] In block 520, one or more cells of the measurement grid map 600 are selected that are at least partially within the sensor's FOV 605, i.e., within the cone 605 in the illustrated embodiment. A cell may be selected if it is only partially within the sensor's FOV 605. In some embodiments, method 500 begins at the origin (0, 0) of cone 605 and moves through the measurement grid map 600 column by column until the cone's boundaries are reached, based on the angular resolution and range of the respective sensors 160, 170. In this example, the range of sensors 160, 170 is considered to extend to the periphery of the measurement grid map 600, but it should be understood that the range may fall within the measurement grid map 600, i.e., may not reach the edge of the map 600. For example, in block 520, the first column 630 is selected, and one or more cells within that column that are at least partially between boundaries 610, 620 are selected. In embodiments, the first column is the column with the lowest column index.

[0070] In block 530 , it is determined whether the selected cell contains a detection of an object, and if not, the method 500 moves to block 540 .

[0071] In block 540, for cells that are at least partially within the FOV 605 of the sensors 160, 170 and not occupied by an object, these cells are marked as visible to the sensors 160, 170 and as empty or vacant, i.e., unoccupied. Advantageously, because only cells within the FOV 605 of the sensors 160, 170 are marked in this manner, this ensures that only cells that were expected to have detected an object (within the FOV 605 of the sensors 160, 170) but did not actually detect an object are marked, such as cell 615. Therefore, for cell 615, the sensor data does not indicate the location of an object in the cell 615, where the cell is within the FOV 605. Therefore, when other cells within the FOV 605 have corresponding sensor data indicating detection of an object and thereby demonstrating that the sensors 160, 170 are operational, it can be better assumed that the cell 615 is actually empty because no object was detected within the cell 615.

[0072] If, in block 530, one of the selected cells, i.e., a cell in the current column, contains a detection of an object, method 500 is recursive because it returns to block 510, where a new FOV is projected for sensors 160, 170. In a second iteration of block 510, method 500 creates a new FOV between one or more detected objects and / or at the boundaries of the previous FOV. For example, cell 640, which is determined in block 530 to include an object detection, causes the method to return to block 510. In block 510, a second FOV 650 is projected that includes the boundaries 660, 670 between cells 640, 645 that contain the object detection, or the boundaries of the current sector or octant, as Figure 6 shown. Then, method 500 repeats for the newly projected FOV 650 of the sensors. The newly projected FOV 650 represents the region where sensors 160, 170 have visibility between the detected objects.

[0073] After marking the cells as visible and empty in block 540, in block 550, it is considered whether all cells visible to the sensors within the current FOVs 605, 650 of sensors 160, 170 have been considered. If not, the method returns to block 520 to select one or more additional cells, such as in the next column of the measurement grid map 600. However, if all visible cells have been considered, the method moves to block 560.

[0074] In block 560, the remaining cells that are not visible and empty or do not correspond to the detected objects 640, 645 within the FOVs 605, 650 of sensors 160, 170 are marked as not visible to sensors 160, 170, or as occluded to sensors 160, 170, such as cell 680. For these cells 680, which are not visible to the sensors due to being occluded by object 640, sensors 160, 170 cannot determine whether these cells 680 correspond to the location of an object. Thus, the sensors do not know or are uncertain about the occupancy of these occluded cells 680.

[0075] As a result of method 500, the cells in the measurement grid map 600 that are not occupied by detected objects are marked or identified as visible and empty, such as cell 690, or as occluded, such as cell 680. It can be considered that illumination light is projected outward from sensors 160, 170 to illuminate the region within the FOVs 605, 650 of sensors 160, 170. The unoccupied and illuminated cells of the measurement grid map 600 are considered empty 690, while the cells 680 within the shadow of object 640 caused by the illumination are considered to have uncertain occupancy.

[0076] For cells 690 determined to be visible and empty in block 540, the free mass of these cells is set to a predetermined value. The predetermined value indicates the probability of being free, for example at least 0.5. The predetermined free mass value can be, for example, 0.95, i.e., a 95% probability of being free, but it should be understood that other values can be selected. As can be understood, since these cells 690 are actually empty, i.e., within the FOVs 605, 650 of sensors 160, 170, and the certainty corresponding to other cells related to the detection of an object, i.e., cells 640, 645, increases, it is possible to reliably infer that the sensor is operable. There can be an increased confidence that the visible and empty cells 690 do not correspond to an object, and thus the value associated with the cell can be controlled to indicate the increased confidence, for example, a predetermined free mass value equal to or greater than 0.7, or equal to or greater than 0.8, 0.9, or 0.95. Therefore, when the free mass value is combined with the prior free mass value of the cell, the cell is represented as empty more quickly.

[0077] In block 560, for occluded cells, an unknown mass or probability can be set to a predetermined value, for example 0.5, but other values can be selected. In some embodiments, the unknown mass value can be between 0.4 and 0.6. An unknown mass of 0.5 is equivalent to a 50:50 likelihood of being occupied and unoccupied. In some embodiments, the occupied_mass value and the free_mass value can be set to predetermined values, for example indicating a 50:50 likelihood. For example, the occupied_mass value can be set to 0.5, and the free_mass value can be set to 0.5. However, in other embodiments, both values can be set to 0 to indicate an unknown mass of 1. It will be understood that other values can be selected to achieve a similar or equivalent effect. For example, the free mass value and the occupied mass value can be updated to be less than 0.3, respectively.

[0078] Because the Dempster - Shafer combination rule is used to combine the unknown mass or BBA with the prior mass, as discussed below, the occupied mass gradually, i.e., over several iterations or updates, moves from the previously measured value to indicate an unknown occupancy. Thus, if a previously obtained detection is now in an occluded or blocked cell (e.g., Figure 6If it is in one of the units 680 in [the relevant context], the occupancy quality of that unit does not immediately change to indicate unknown occupancy. The occluded unit takes several cycles to reduce the occupancy quality to indicate unknown occupancy. The reverse is also true; if a previously visible and empty unit is now occluded, the unit takes multiple iterations or cycles to indicate unknown occupancy. In some embodiments, the amount of time or number of iterations required for this to occur can be controlled by a parameter fov_threshold, which controls which units the algorithm considers to be opaque, i.e., which occupancy qualities of the units are considered to be occupied by the detection. For example, if fov_threshold is set to 0.4, any unit with a fov_threshold value equal to or greater than 0.4 is considered to be occupied.

[0079] In block 570, the quality value determined to be the result of the FOV of the sensor is combined with the quality value of the measured grid map.

[0080] The combination of the FoV and the measured grid map can be performed using the Dempster-Schafer (DS) combination rule. Figure 7 The occupancy quality and free quality of two units 710, 720 are shown, and the occupancy quality and free quality will be combined using the DS combination rule as follows.

[0081] The first unit 710 has an occupancy quality equal to 0.2 (p(o1)=0.2), a free quality equal to 0.3 (p(f1)=0.3), and an unknown quality equal to 0.5. The second unit 720 has p(o2)=0.5, p(f2)=0.25, and an unknown quality equal to 0.25.

[0082] According to the DS formula, K is equal to the sum of the products of the combinations of all disjoint sets. In this example, for the sake of illustration, this means occupancy and free. These two possibilities are mutually exclusive and can therefore be considered "disjoint sets". This can be expressed as:

[0083] K = p(o1)*p(f2)+p(o2)*p(f1) = 0.2*0.25 + 0.5*0.3 = 0.2

[0084] K' = 1 / (1 - K) = 1.25

[0085] The uncertainty is intuitively calculated as:

[0086] p(u1) = 1 - p(o1) - p(f1) = 0.5

[0087] p(u2) = 1 - p(o2) - p(f2) = 0.25

[0088] The numerator is the sum of the products of all intersecting set combinations:

[0089] p(o3) = K′(p(o1) * p(o2) + p(o1) * p(u2) + p(o2) * p(u1))

[0090] = 1.25 * (0.2 * 0.5 + 0.2 * 0.25 + 0.5 * 0.5)

[0091] = 1.25 * 0.4 = 0.5

[0092] p(f3) = K′(p(f1) * p(f2) + p(f1) * p(u2) + p(f2) * p(u1))

[0093] = 1.25 * (0.3 * 0.25 + 0.3 * 0.25 + 0.25 * 0.5)

[0094] = 1.25 * 0.275 = 0.34375

[0095] p(u3) = 1 - p(o3) - p(f3) = 0.15625

[0096] In some embodiments, particle association is performed for detection in block 460. This allows DOGMa to process, create, and maintain particles associated with the detection. Advantageously, computational effort is not wasted on associated particles that do not model anything in the real world.

[0097] Return Figure 4 , in block 460 of method 400, one or more particles are associated with the measurement grid map. In some embodiments, the data structure particle_association_info (particle_association_information) is associated with the measurement grid map. This data structure stores, for each cell, the probability that the particles in that cell are associated with the measurement of an object. In some embodiments, the probability y is determined using the probability density function according to the normal Gaussian distribution, but it should be understood that other distributions can be used. The function can be:

[0098]

[0099] where y indicates the probability of the cell, and thus any particle within the cell that is associated with the measurement of an object, whose mean (m) can be 0, standard deviation (s) can be 1, and x is the distance in meters from the cell to the object detection. Thus, in block 460, for the particles in each cell, the probability y of the particles associated with the detection is determined.

[0100] In block 470, one or more components of the particles are determined. The particles for which one or more components are determined in block 470 can be newborn particles and persistent particles in the posterior confidence, i.e., the posterior BBA.

[0101] In some embodiments, the occupied_mass from the determined measurement grid map, the prior_occupied_mass from the DOGMa grid determined as in the prediction of block 410, and the birth_probability parameter are used to determine one or more components that can be represented as occupied_mass_components. The occupied_mass_components represent the components of the newborn particles used in the resampling block 480 below, and the components of the stably existing particles used in the update block 475 below. The birth_factor parameter controls the balance between newly created particles and persistent particles. The birth_factor parameter can assume values within a predetermined range, for example, between 0 and 1. The higher this value, the less likely the particles are to persist between time steps, thus controlling the sensitivity of method 400 to incoming detections. A value of 0 means no new particles are created, while a value of 1 means particles will be created directly relative to the occupied mass. Creating a larger number of new particles results in pruning a larger number of existing particles in the sample block 480. As an example, the birth probability can be approximately 0.02, but other values can be chosen. The following function returns the set of persistent particles (pers_mass) used in the update block 475 below, and the set of particles to be created (born_mass) used in the example block 480.

[0102] scaled_free_plausibility = birth_tactor * (1 - prior_occupied_mass)

[0103]

[0104] Note that occupied_mass and scaled_free_plausibility are vectors that are multiplied by the Schur product. The purpose of the scaled_free_plausability variable is to reduce the probability of particle birth, where pers_mass can be calculated as follows:

[0105] pers_mass = occupied_mass - born_mass

[0106] The persistent mass pers_mass is the remainder obtained by subtracting the newborn mass from the occupancy mass. Note that the above operation is an element-wise vector operation.

[0107] Box 475 is an update block. In box 475, the cells and particles in the dynamic occupancy grid map are updated or modified using the detections incorporated into the measurement grid map, which also includes the effects of FOV determination according to the embodiments of the present invention specifically referred to Figure 5 above and discussed.

[0108] For use in particle updates, a likelihood function can be defined, which calculates the Doppler measurement likelihood according to the method from the DOGMa paper (Nuss, 2017) (equations 5.70 and 5.71 on page 77). Substantially, the update operation in box 475 is the determination of the likelihood of a particle persisting relative to the incoming measurements. That is, if a particle is close to the measurement and has a similar velocity, then that particle will be given a greater weight.

[0109] Box 475 can include cell occupancy and particle update processing. In box 475, the cell occupancy is updated by updating the posterior BBA using the BBA of the measurement grid map and the prior BBA. As described above, the Dempster-Schafer combination rule can be used for the occupancy mass and the free mass to perform the update.

[0110] In box 475, the particle weights are updated. In some embodiments, a function for updating the particle weights is used, which performs a vector multiplication between the existing, unnormalized weights of the particles and the Doppler measurement likelihood mentioned above. Updating the particles in this way reduces the particle weights according to the degree to which the state of the particle differs from the incoming detections.

[0111] In some embodiments, a normalization factor can be used for each cell to normalize the weights of the particles within each cell. This normalization is performed separately for the associated (associated with the detection) and unassociated cells. For the associated cells, the persistent mass of the cell can be divided by the sum of the particle weights in that cell. The persistent mass is related to the incoming detections in the measurement grid map, where the persistent mass is calculated in box 470 above. This is performed for each cell in the measurement grid map. In effect, this process increases the particle weights of the particles that are at or near the incoming detections from sensors 160, 170. The unassociated cells can be updated by dividing the persistent mass by the prior occupancy mass. The unassociated and associated weight normalization factors are updated in this way. These are vectors with entries for each cell.

[0112] In some embodiments, a normalization can be performed on the weight vector. Normalization can use the unnormalised_weights for each particle, the associated_particles_normalisation_factors for each cell, the unassociated_particles_normalisation_factors for each cell, and the association_prob from the measurement grid map. This step of block 475 determines, for each cell, the probability that the particle in that cell is associated with the measurement. In some embodiments, each particle has an associated and unassociated probability, which together can form the particle's weight.

[0113] The association part can be calculated by multiplying the association probability of the unit by the association particle normalization factor and the unnormalized weight of the particle.

[0114] associated_part=association_prob*associated_particles_normalisation_factors(unit)*unnormalised_weights(particle)

[0115] The non-correlated part is calculated as follows:

[0116] unassociated_part = (1-association_prob) * unassociated_particles_normalisation_factors (unit) * weight (particle)

[0117] The above processing may be performed for each particle.

[0118] In block 480, a resampling operation is performed. During the resampling operation, new particles are initialized, which can be done according to the birth mass discussed above, and other existing particles are culled. As mentioned above, culling can be performed to keep the total number of particles in the dynamic grid map at the defined num_particles parameter, which provides the desired number of particles for the grid map. After the new particles are born, the total number of particles is num_particles + number_of_birth_particles, where number_of_birth_particles defines the number of newly born particles. Culling is used to reduce the number of particles to num_particles. In some embodiments, culling can include generating a number of uniformly distributed random numbers. The distribution of the random numbers will be num_particles to index the particles in the total number of particles. These are the particles that will persist, and the rest are culled, thus keeping the number of particles at num_particles.

[0119] In some embodiments, a sampling function is used. The sampling function is a function that aids in performing weighted random sampling. The use of the function is modular because different sampling functions can be used in block 480. In one embodiment, a discrete distribution is used, which returns a random number where the probability of an integer I is defined as:

[0120]

[0121] where the weight w as the i-th integer i is divided by the sum S of all n weights, where n is the number of weights. It can be considered that the random sampler has a greater likelihood of retaining particles with higher weights.

[0122] New particles can be created during the resampling operation in block 480. In some embodiments, the creation of particles can be controlled by the parameter new_particles_per_cell: the number of new particles that should be created in each cell, which is proportional to the born_mass.

[0123] born_mass: The component of the posterior occupancy mass of new particles for each cell.

[0124] probability_for_cell: This contains the probability for each cell that the particles in that cell are associated with the measurement.

[0125] max_velocity: The maximum velocity to be used for newly initialized particles, in meters per second.

[0126] In some embodiments, a particle creation function is used that returns a pair of values where the 'first' member is an Nx4 matrix of the particle state as [xy vx vy], where N is the total number of new particles, and the 'second' member is an Nx1 vector of particle weights.

[0127] New particles can be instantiated in a cell, where the higher the born_mass, the greater the number of particles that will be created. Since born_mass is related to the incoming detection, this results in more particles being created around the incoming detection. These particles are created using a positioning and velocity strategy. The strategy can include instantiating particles using a distribution within the cell (e.g., a standard random distribution). Advantageously, particles are not all created at the center of a grid cell, but are randomly distributed around the cell at random velocities. In some embodiments, all new particles are non-associated, so they are instantiated using a tag ID that indicates non-association (e.g., -1), but other tags can be used.

[0128] Creating a new particle can provide a vector of new particles. New particles can be appended to existing particles. In some embodiments, the created joint vector of particles is resampled, for example using the sampling function mentioned above. In this way, new particles are created for the particle filter, and low-weight particles are simultaneously deleted so that the total number of particles remains within a defined limit.

[0129] In block 490, the labels associated with the particles are updated to represent objects. The particles can be clustered using the DBSCAN algorithm (Ester et al., 1996), but other methods of clustering particles can also be used. Clustering creates clusters of particles with the same label, which are extracted as untracked objects with a center point, velocity, and bounding box. The algorithm associates groups of particles as objects. The configurable min_points determines the minimum number of particles that need to be in a cluster in order for it to be considered an object, and the ε variable is used to configure the distance allowed between particles to be considered part of a cluster.

[0130] This object extraction allows the dynamic occupancy grid to generate untracked objects, which are then output as additional sensor input to the object-level tracker (OLT) to be fused with data from other sensors, such as cameras and radar sensors. Since these objects are relatively simple, e.g., they do not have any classification details, they can be fused with data from other sensors such as cameras / radars that allow for high-quality classification and improve the position and velocity estimates of those sensors.

[0131] In some embodiments, a conversion is performed from the BBA to a value representing the probability of occupancy. Advantageously, this conversion facilitates the use of occupancy grid maps. The value representing the probability can be an integer, for example in the range of 0 to 1, rather than a BBA with two different possibilities (occupied and free). Therefore, in some embodiments, the BBA is converted into a probability value for each cell to be occupied. This conversion can be performed using the following formula:

[0132] Probability = Unit_Occupancy + 0.5 × (1 - Unit_Occupancy - Unit_Free)

[0133] At block 495, the occupancy grid map is output. As described above, the occupancy grid map contains the occupancy probability of each cell in the occupancy grid map and an associated list of detected objects extracted from the occupancy grid map. At block 495, the controller 110 outputs occupancy grid map data 155 indicating the occupancy grid map 300 and the objects.

[0134] The occupancy grid map data 155 may be provided to another controller of the vehicle 200 for use in controlling the movement of the vehicle 200. The occupancy grid map data 155 may be used to determine a path for the vehicle 200. The occupancy grid map data 155 may be used to reduce the likelihood of the vehicle 200 coming into contact with any object in the environment of the vehicle 200.

[0135] The objects can be used as input to an object-level tracker (OLT), which performs association, tracking, and state estimation on the trajectories from multiple sensors. The OLT can perform association using the Munkres algorithm (Konstantinova et al., 2003). The tracker maintains a list of trajectories that is updated using the association output. Finally, state estimation can be handled by reusing the particle filter described above or using an unscented Kalman filter (UKF). A pairwise down version with a much smaller number of particles is used to model the state of each trajectory. This is done by removing the grid; instead, the world modeled by the particle filter is the bounding box of the trajectory, updated by any incoming detections that the association step has determined to be associated with that trajectory.

[0136] It will be appreciated that various changes and modifications can be made to the present invention without departing from the scope of the application.

Claims

1. A control system for a vehicle, the control system comprising at least one controller, the control system being configured to: Receive sensor data from at least one sensor indicating the position of one or more objects detected in the environment of the vehicle; Modify an occupancy grid stored in a memory accessible by the control system based on the sensor data, the occupancy grid representing the environment of the vehicle and having a plurality of cells, wherein, Each cell is associated with at least one value indicating the likelihood that the corresponding portion of the environment is occupied by one of the one or more objects, Wherein the modification includes the control system being configured to: Determine one or more cells of the occupancy grid within the field of view of the at least one sensor for which the sensor data does not indicate the position of an object; And Modify the at least one value associated with the determined one or more cells of the occupancy grid to indicate an increased likelihood that the cell is not occupied by an object.

2. The control system according to claim 1, wherein The at least one value associated with the determined one or more cells of the occupancy grid is a free quality value, and the control system is arranged to modify the free quality value to a value indicating the likelihood that the cell is not occupied by the object.

3. The control system according to claim 2, wherein The modification includes the control system combining a predetermined free quality value with a prior free quality for the one or more cells of the occupancy grid within the field of view of the sensor for which the sensor data does not indicate the position of an object, and optionally, wherein the predetermined free quality value is equal to or greater than 0.

7.

4. The control system according to any one of the preceding claims, wherein, The modification includes the control system being configured to: Determine one or more cells of the occupancy grid where the field of view of the sensor is blocked by at least one of the one or more objects; And Modify the at least one value associated with the determined one or more cells of the occupancy grid to indicate an increased uncertainty that the cell is occupied by an object.

5. The control system according to claim 4, wherein, The at least one value associated with the one or more cells of the occupancy grid where the field of view of the sensor is blocked by at least one of the one or more objects is an unknown quality value, and optionally, wherein the modification includes the control system combining a predetermined unknown quality value with a prior unknown quality for the one or more cells of the occupancy grid within the field of view of the sensor where the field of view of the sensor is blocked by at least one of the one or more objects.

6. The control system according to claim 5, wherein, The predetermined unknown quality value is equal to or greater than 0.

4.

7. The control system according to any one of claims 3 or 5 or any claim dependent on any one of claims 3 or 5, wherein The combination is performed according to Dempster Shafer combination rules.

8. The control system according to any one of the preceding claims, wherein, The modification includes the control system being configured to: Determine the field of view of the sensor based on one or more characteristics associated with the sensor; and Select the one or more cells of the occupancy grid corresponding to the field of view of the sensor.

9. The control system according to any one of the preceding claims, wherein, The modification includes the control system being configured to: Determine a first field of view of the sensor; Identify one or more cells of the occupied grid that are within the first field of view of the sensor and for which the sensor data does not indicate the presence of an object; Identify a first cell of the occupied grid that is within the first field of view of the sensor and corresponds to the location of one of the one or more objects detected in the environment of the vehicle; And Determine a second field of view of the sensor based on one or more characteristics associated with the sensor and the location of one of the one or more objects.

10. The control system according to claim 7 when dependent on claim 2, wherein, The control system is configured to: Identify as cells in the shadow of one of the one or more objects detected in the environment of the vehicle, one or more cells of the occupied grid in which the field of view of the sensor is blocked by at least one of the one or more objects.

11. The control system according to claim 9 or 10, the control system being configured to sequentially select cells of the occupied grid outward from the location of the sensor to determine whether the sensor data indicates the presence of an object.

12. A system for a vehicle, comprising: The control system according to any one of the preceding claims; And At least one sensor arranged to output sensor data indicative of the location of one or more objects detected in the environment of the vehicle.

13. A vehicle comprising the control system according to any one of claims 1 to 11 or the system according to claim 12.

14. A computer-implemented method, comprising: Receiving sensor data from at least one sensor indicative of the location of one or more objects detected in the environment of a vehicle; Modifying an occupied grid stored in a memory based on the sensor data, the occupied grid representing the environment of the vehicle and having a plurality of cells, wherein each cell is associated with at least one value indicative of the likelihood that the corresponding portion of the environment is occupied by one of the one or more objects, wherein the modification comprises: Identifying one or more cells of the occupied grid that are within the field of view of the sensor and for which the sensor data does not indicate the presence of an object; and Modifying the at least one value associated with the identified one or more cells of the occupied grid to indicate an increased likelihood that the cell is not occupied by an object.

15. A computer software or a computer-readable data storage medium having the computer software tangibly stored thereon, the computer software being arranged to perform the method according to claim 14 when executed by a computer.