Patent Description:
Advanced driver assistance systems (ADAS) have been developed to support drivers in order to drive a host vehicle more safely and comfortably. In order to perform properly and due to safety reasons, the environment in front of a host vehicle needs to be monitored e.g. in order to determine a collision free space in a lane in front of the host vehicle.

In order to determine such a collision free space in front of the host vehicle, a so-called occupancy grid technique has been proposed which analyzes the state of cells defined by a grid in front of the vehicle, i.e. if each cell is occupied, partly occupied, occluded or free. The occupancy grid is usually designed on the basis of a vehicle coordinate system wherein all cells of the grid have the same size and the same orientation within this coordinate system. That is, regarding the vehicle coordinate system the cells of the conventional occupancy grid are position invariant and time invariant.

In addition, the occupancy grid usually includes the same number of cells in both lateral and longitudinal directions with respect to the movement of the host vehicle. In order to guarantee a collision free space in front of the host vehicle, the number of cells may further be dynamically increased in lateral direction, especially if a strong curvature of the lane occurs in front of the host vehicle. Hence, such a square or rectangular grid has to include a huge number of cells which need to be processed by a processor and a memory of a vehicle controlling system.

An actual region of interest (ROI), however, which is relevant e.g. for the assistance systems of the host vehicle, usually covers a part of a square or rectangular occupancy grid only. For example, the region of interest may include the lane in which the host vehicle is currently driving and small areas located on the right and left sides of such a lane.

Therefore, the conventional occupancy grid usually includes a lot of unnecessary cells providing a lot of unnecessary data which are not relevant for the systems of the host vehicle, especially if such a lane has quite a strong curvature. These unnecessary data waste a lot of memory and may slow down processors of the vehicle controlling system. Hence, using the conventional occupancy grid technique, e.g. for trajectory planning or for the above mentioned assistance systems, is accompanied by a high computational effort.

<NPL>, discloses a computer implemented method comprising the features according to the preamble of claim <NUM>.

<CIT> discloses a method comprising features according to a related technology.

<CIT> also discloses a method comprising features according to a related technology.

Accordingly, it is an object of the invention to have a method which highly reduces the computational effort for generating an occupancy grid in front of a host vehicle.

This object is satisfied by a computer implemented method, a computer system and a non-transitory computer readable medium according to the independent claims. Embodiments are given in the subclaims, the description and the drawings.

In one aspect, the present disclosure is directed at a computer implemented method for generating a dynamic occupancy grid in front of a host vehicle. According to the method, an indicator is detected for the course of a lane of a road in front of the host vehicle via a detection system of the host vehicle, and a base area is determined based on the detected indicator via a computer system of the host vehicle, wherein the base area is restricted to a region of interest in front of the host vehicle. A plurality of cells is defined via the computer system by dividing the base area in order to form the occupancy grid. For each cell of the occupancy grid, it is determined whether the cell is occupied at least partly by a detectable object via the computer system based on data provided by the detection system.

The detection system of the host vehicle may include a visual system, a radar system and/or a LIDAR system, whereas the computer system may include a processor and a memory. Since the base area is determined based on the indicator for the course of the lane, the base area which defines the dimensions and the number of the cells of the grid covers the region of interest in front of the vehicle only, i.e. including the lane and certain areas on the right and left sides of the lane. Therefore, the lateral size of the grid, i.e. perpendicular to the course of the lane, is decreased in comparison to a conventional occupancy grid which leads to a less number of cells which have to be taken into account.

Hence, less memory is required for such a dynamic occupancy grid reflecting the course of the lane, and the number of calculations needed for processing the data of the dynamic occupancy grid is reduced. Conversely, the resolution of the grid, i.e. the number of cells per unit area, may be increased without requiring additional memory. In both cases, however, the number of useless data generated by cells being located outside the region of interest is strongly reduced for a dynamic grid adapted to the course of the lane in comparison to a conventional occupancy grid.

In addition, the data provided by the dynamic occupancy grid are more suitable for further vehicle systems which rely on or use this data since the number of useless data provided by the grid is strongly reduced and the transferred data is therefore preprocessed regarding relevance. Hence, the performance of the further vehicle systems using the dynamic occupancy grid is improved, especially by reducing the total amount of transferred data.

Furthermore, a reference line is defined via the computer system along the lane based on the indicator, and the base area is determined on both sides of the reference line. The definition of the reference line, for example in the middle of the lane, may be used for a straightforward adaptation of the base area to the course of the lane which is given by the indicator. Since the indicator may be measured e.g. by the detection system of the host vehicle, the reference line may be a straightforward means in order to "dynamically deform" the base area such that it reflects the course of the lane. Furthermore, the reference line may be represented by a polygon being adapted to measured indicator data. The use of such a reference line may further reduce the computational effort which is required to perform the method.

The reference line is divided into segments, and for each of the segments, a respective row of cells is defined perpendicularly to the reference line. If the reference line consists of a certain number of segments, an update of the dynamic occupancy grid may be simplified. For such an update of the occupancy grid, most of the segments and the respective row of cells belonging to these segments may be maintained, and merely the segments and corresponding cells being close to the host vehicle may be replaced by new segments and corresponding cells at the "far end" of the reference line with respect to the host vehicle. Furthermore, generating the dynamic occupancy grid may be facilitated by defining rows of cells corresponding to the segments of the reference line.

For each segment, two respective straight lines are defined perpendicularly to the reference line at a beginning and at an end of the segment, respectively.

According to an unclaimed example, each straight line may be further divided into a predefined number of sections. End points of the respective sections may define corners of a respective one of the plurality of cells. The predefined number of sections for each straight line perpendicular to the reference line may be a representation for the lateral extension of the dynamic occupancy grid which follows the course of the lane from one straight line to the next. The definition of the corners for the respective cells of the occupancy grid by using the end points of the sections may further facilitate generating the dynamic occupancy grid and may reduce the required computational effort.

For each row of cells, a predetermined cell width may be defined, and according to an unclaimed example, a predetermined number of cells may be defined. The predetermined cell width and the predetermined number of cells may include constant values. The lateral extension of the base area corresponding to the region of interest for the host vehicle may therefore be determined by the definition of the predetermined cell width and/or the predetermined number of cells. Constant values for the cell width and for the number of cells per row may again facilitate generating the dynamic occupancy grid.

The segments of the reference line may have a predefined length. In this case, generating the occupancy grid may be facilitated again, and the computational effort may be further reduced. Alternatively, the segments of the reference line may have a variable length which may depend on a distance of the segment with respect to the host vehicle. In detail, the length of the segments may increase when the distance of the segment with respect to the host vehicle increases.

That is, the size of the cells may be adapted within the region of interest by using a variable length of the segments. For example, it may be desired to have an increased resolution of the occupancy grid close to the host vehicle, and for regions having still a greater distance with respect to the host vehicle, less resolution is required e.g. for a proper performance of further vehicle systems like advanced driver assistance systems. Since a dynamic occupancy grid being restricted to the region of interest for the host vehicle and following the course of the lane in front of the host vehicle may include much less data and may need less computational effort than a conventional occupancy grid, the resolution of the grid may be increased within certain parts of the region of interest without extensively increasing the computational effort and therefore without sacrificing the most important advantages of the dynamic occupancy grid.

The indicator for the course of the lane may include right and/or left margins of the lane and, alternatively or additionally, markers for the center of the lane. Hence, available landmarks may be used as indicator for the course of the lane which may be easily detected by systems which are available anyway in the host vehicle. Therefore, the detection of the indicator including these landmarks, i.e. margins of the lane and/or markers for its center, may be performed without generating additional cost.

The detection system of the host vehicle for detecting the indicator may include a visual system and/or a radar system of the host vehicle. The visual system and the radar system are examples for systems which are available anyway in nowadays vehicles.

The base area may be determined in accordance with a predetermined range of the visual system and/or of the radar system. That is, the base area for generating the dynamic occupancy grid may be restricted longitudinally, i.e. along the lane in front of the host vehicle, by a predetermined and known range of the visual system and/or the radar system which may provide the indicator for the course of the lane in order to determine the base area and to define the dynamic occupancy grid. The dynamic occupancy grid may therefore be generated based on a predetermined length along the lane in front of the vehicle. This may again facilitate the overall generation of the dynamic occupancy grid.

In another aspect, the present disclosure is directed at a computer system, said computer system being configured to carry out several or all steps of the computer implemented method described herein.

The computer system may comprise a processing unit, at least one memory unit and at least one non-transitory data storage. The non-transitory data storage and/or the memory unit may comprise a computer program for instructing the computer to perform several or all steps or aspects of the computer implemented method described herein.

<FIG> schematically depicts a host vehicle <NUM> and a target vehicle <NUM> driving in the same lane <NUM> in front of the host vehicle <NUM>. <FIG> further depicts a schematic representation of an occupancy grid <NUM> according to the background art which is defined with respect to a vehicle coordinate system <NUM> which is a Cartesian coordinate system including an x-axis <NUM> extending in a lateral direction with respect to the vehicle <NUM> and a y-axis <NUM> extending in a longitudinal direction in front of the host vehicle <NUM>.

The occupancy grid <NUM> according to the background art includes a plurality of cells <NUM> which have a fixed dimension along the x-axis <NUM> and along the y-axis <NUM>. That is, the length and the width of each cell <NUM> are predefined. In addition, the number of cells <NUM> of the occupancy grid <NUM> is also predetermined in the lateral and longitudinal directions, i.e. along the x-axis <NUM> and along the y-axis <NUM>. That is, the occupancy grid <NUM> according to the background art always includes a fixed number of cells <NUM> in longitudinal direction and may include a predefined number of cells <NUM> in lateral direction, as shown in <FIG>, regardless of the course of the lane <NUM> or the movement of the host vehicle <NUM>.

The existence and the position of the target vehicle <NUM> are detected by a detection system <NUM> of the host vehicle <NUM>. The detection system <NUM> includes a visual system and/or a radar system. The detection system <NUM> is also configured to detect a left margin <NUM> and a right margin <NUM> of the lane <NUM>. The host vehicle <NUM> further includes a computer system <NUM> which includes a processor and a memory and which is configured to generate the occupancy grid <NUM>.

As can be seen in the schematic representation of the occupancy grid <NUM> according to the background art, the occupancy grid <NUM> includes many cells <NUM> which are far away from the lane <NUM> in which the host vehicle <NUM> and the target vehicle <NUM> are driving momentarily. That is, the occupancy grid <NUM> according to the background art usually includes a huge number of cells which are outside a region of interest for the actual movement of the host vehicle <NUM> and for the systems of the host vehicle <NUM> which rely on or use the data being provided by the occupancy grid <NUM>. Usually, for each of the plurality of cells <NUM> within the occupancy grid <NUM> it is determined whether an object or obstacle detected by the detection system <NUM> is present or not. In other words, it is determined for each cell <NUM> whether it is occupied by an obstacle or object. For the example as shown in <FIG>, the cells <NUM> which are covered at least partly by the target vehicle <NUM> are regarded as occupied.

The region of interest which is relevant for the host vehicle <NUM> includes the lane <NUM> per se and some area beyond the left margin <NUM> and the right margin <NUM> within the close vicinity of the lane <NUM>. Therefore, the occupancy grid <NUM> according to the background art includes a huge number of cells and unnecessary data from the regions outside the region of interest. This unnecessary data is usually processed by the computer system <NUM> of the host vehicle <NUM> and requires a corresponding unnecessary memory and processor performance. That is, usage of memory and processors of the host vehicle <NUM> are unnecessarily wasted when using an occupancy grid <NUM> according to the background art.

In contrast, <FIG> depicts a schematic representation of a dynamic occupancy grid <NUM> according to the disclosure. The dynamic occupancy grid <NUM> includes a plurality of dynamic cells <NUM> and is adapted to the course of the lane <NUM> in front of the host vehicle <NUM>. In detail, the dynamic occupancy grid <NUM> is defined via the computer system <NUM> of the host vehicle <NUM> for a base area <NUM> which corresponds to a region of interest in front of the host vehicle <NUM>. In order to define the base area <NUM>, the left margin <NUM> and the right margin <NUM> of the lane <NUM> are detected by the detection system <NUM> of the host vehicle <NUM>. Since the left margin <NUM> and the right margin <NUM> limit the lane <NUM>, the left and right margins <NUM>, <NUM> are used as indicators for the course of the lane <NUM> in front of the host vehicle <NUM>.

As mentioned above, the base area <NUM> for the dynamic occupancy grid <NUM> is intended to cover the region of interest for the host vehicle <NUM>. For covering this region of interest properly, some areas beyond the left margin <NUM> and beyond the right margin <NUM> are included in the base area <NUM>. That is, some parts of adjacent lanes, sidewalks and/or further environment like ditches may also be relevant for the further movement of the host vehicle <NUM> and have therefore to be included into the base area <NUM>. The base area <NUM> is further divided in a plurality of dynamic cells <NUM> in order to generate the dynamic occupancy grid <NUM>.

When one compares the conventional occupancy grid <NUM> according to the background art as shown in <FIG> with the dynamic occupancy grid <NUM> according to the disclosure, the total number of cells <NUM> is strongly reduced in comparison to the total number of cells <NUM> of the conventional objective grid <NUM> without losing relevant information which is provided by the grids <NUM>, <NUM> and which is relevant for e.g. the assistance systems of the host vehicle <NUM>. This especially holds true if the lane <NUM> includes a strong curvature. In summary, the number of unnecessary cells and data and therefore unnecessary computational effort are strongly reduced when using the dynamic occupancy grid <NUM> reflecting the course of the lane <NUM> in comparison to the conventional objective grid <NUM>.

<FIG> depicts in detail how the dynamic cells <NUM> of the dynamic occupancy grid <NUM> are generated via the computer system <NUM> of the host vehicle <NUM>. A reference line <NUM> is defined which extends approximately in the center of the lane <NUM> in which the host vehicle <NUM> and the target vehicle <NUM> are driving momentarily. The reference line <NUM> is represented by a polynomial whose coefficients are derived from an indicator for the course of the lane <NUM> which is measured by the detection system <NUM> of the host vehicle <NUM>, e.g. by measuring the course of the left margin <NUM> and the right margin <NUM> of the lane <NUM> as indicators for the course of the lane <NUM>.

The reference line <NUM> represented by the polynomial is divided into a plurality of segments <NUM> having a constant length Δ along the reference line <NUM>. For each segment <NUM>, two straight lines <NUM> are defined extending perpendicularly to the reference line <NUM>, respectively. That is, adjacent segments <NUM> have a common straight line <NUM> which delimits respective areas from each other which extend on both sides of the reference line <NUM> between the straight lines <NUM>.

According to an unclaimed example, the straight lines <NUM> are further divided into sections <NUM> having a constant length δ. Therefore, end points <NUM> of the respective sections <NUM> also have a constant distance δ from each other. The end points <NUM> of the sections <NUM> are used in order to define corner points for a respective dynamic cell <NUM> (see <FIG>). In detail, two end points <NUM> of a section <NUM> being adjacent to each other and belonging to a first straight line <NUM> define two corner points of a dynamic cell <NUM>, whereas two further end points <NUM> of a section <NUM> of the adjacent straight line <NUM> having the shortest distances to the first straight line <NUM> define two further corner points for the dynamic cell <NUM>. That is, the four corner points of each dynamic cell <NUM> are defined by respective end points <NUM> of sections <NUM> belonging to adjacent straight lines <NUM> and having the shortest distance with respect to each other.

Due to the curvature of the reference line <NUM>, the size of the dynamic cells <NUM> varies within the dynamic occupancy grid <NUM>, as can be recognized in <FIG>. In addition, the length of the segments <NUM> may be varied as an alternative along the reference line <NUM>. For example, close to the host vehicle <NUM> a short length of the segments <NUM> may be used, whereas the length of the segments <NUM> may increase when their distance increases with respect to the host vehicle <NUM>.

In the example as shown in <FIG>, each segment <NUM> defines a row of dynamic cells <NUM>, wherein this row extends perpendicularly to the reference line <NUM>. If a predefined number of cells <NUM> is used according to an unclaimed example for each row of cells <NUM> belonging to a certain segment <NUM>, a constant lateral width of the dynamic occupancy grid <NUM> is defined corresponding to a constant lateral extension of the base area <NUM> corresponding to and covering the region of interest in front of the host vehicle <NUM>.

Claim 1:
Computer implemented method for generating a dynamic occupancy grid (<NUM>) in front of a host vehicle (<NUM>),
the method comprising:
- detecting an indicator (<NUM>, <NUM>) for the course of a lane (<NUM>) of a road in front of the host vehicle (<NUM>) via a detection system (<NUM>) of the host vehicle (<NUM>),
- determining, via a computer system (<NUM>) of the host vehicle (<NUM>), a base area (<NUM>) based on the detected indicator (<NUM>, <NUM>), the base area (<NUM>) being restricted to a region of interest in front of the host vehicle (<NUM>),
- defining, via the computer system (<NUM>), a plurality of cells (<NUM>) by dividing the base area (<NUM>) in order to form the occupancy grid (<NUM>), and
- for each cell (<NUM>) of the occupancy grid (<NUM>), determining whether the cell (<NUM>) is occupied at least partly by a detectable object (<NUM>) via the computer system (<NUM>) based on data provided by the detection system (<NUM>),
wherein
a reference line (<NUM>) is defined via the computer system (<NUM>) along the lane (<NUM>) based on the indicator (<NUM>, <NUM>), and the base area (<NUM>) is determined on both sides of the reference line (<NUM>),
the reference line (<NUM>) is divided into segments (<NUM>) and, for each of the segments (<NUM>), a respective row of cells (<NUM>) is defined perpendicularly to the reference line (<NUM>),
characterized in that
for each row of cells (<NUM>), a number of cells (<NUM>) is adjusted to a curvature of the lane (<NUM>) by selecting a greater number of cells (<NUM>) on a first side to which the reference line (<NUM>) is curved and a smaller number of cells (<NUM>) on a second side from which the reference line (<NUM>) departs.