Method for characterizing the environment of a moving carrier, producing a static space grid and / or a free space grid
The process generates static and free space grids using Bayesian filters to efficiently characterize the environment of a mobile carrier, addressing the high computational demands of existing methods and enabling real-time execution on microcontrollers.
Patent Information
- Application Number
- FR2022013671
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-12-16
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2042-12-16
Smart Images

Figure 00000022_0000 
Figure 00000022_0001 
Figure 00000023_0000
Abstract
Description
Title of the invention: Method for characterizing the environment of a mobile carrier, producing a static space grid and / or a free space grid Technical field
[0001] The invention relates to a method for characterizing the environment of a mobile carrier (also called a robot hereinafter) using distance sensors. It also relates to a device for implementing such a method.
[0002] The invention can be applied to any type of robots, for example terrestrial robots (autonomous cars), aerial robots (drones), underwater robots, etc.
[0003] A mobile robot navigates through space to perform a task. To navigate autonomously, the robot must acquire knowledge about its environment in order to plan a path, avoid collisions, and navigate safely. The robot relies on a perception system for this purpose.
[0004] The perception system retrieves data about the environment through measurements from onboard sensors. A computer model of the environment is then built and continuously updated by the perception system based on sensor measurements. The robot will reason and make navigation decisions based on the environment model.
[0005] Several types of environment models exist in the state of the art. One of the most commonly used in robotics is the occupancy grid initially introduced in the article by H.P. Moravec and A. Elfes “High resolution maps from wide angle sonar”, Proceedings. IEEE ICRA, volume 2, pages 116-121, Mar 1985. The occupancy grid is a probability grid: each cell has a probability of occupancy, therefore a value between 0 and 1.
[0006] An occupancy grid is a map of a delimited region of the environment surrounding the robot. The region is subdivided into several adjacent sub-regions called cells.
[0007] A cell can be three-dimensional (3D), for example, a cube of 10 cm x 10 cm x 10 cm. It can also be two-dimensional (2D), for example, the space enclosed by a square of 10 cm x 10 cm. The collection of all cells forms a grid.
[0008] The objective of the framework defined by the occupancy grid is to calculate the probability that a cell is occupied by an obstacle given the measurements of the on-board sensors. An occupancy probability of 1 means “the cell is occupied”, 0 means “the cell is free”, and a value between 0 and 1 expresses the uncertainty on cell occupancy. In particular, an occupancy probability of 1 / 2 means that the cell occupancy is unknown, i.e. the cell can be free or occupied, without leaning towards one of the two hypotheses.
[0009] Occupancy grids have advantageous properties for a perception system. They constitute a robust method for merging several sensors of different technologies. Patent application FR3041451 provides an example of a multi-sensor fusion method implementing integer arithmetic calculations.
[0010] Commonly used detection technologies are LIDAR, RADAR, cameras, and SONAR. While cameras provide detailed color and texture, they are limited in the dark. LIDAR can provide detailed representation of point clouds, but their performance decreases in adverse weather (snow, fog, or rain).
[0011] Multi-sensor fusion is therefore essential to overcome the limitation of a given technology. Occupancy grids also make it possible to manage measurement uncertainties and noise using probabilistic approaches.
[0012] The characteristic grids thus represent the free space and the space occupied by one or more material bodies. We call "material bodies" (or obstacles) any substance or material object presenting an individuality and which can be detected and identified by an appropriate sensor.
[0013] Thus, material bodies are considered to be inanimate objects, whether natural or artificial, plants, animals, human beings, but also liquid or solid particles suspended in the air, such as clouds, or even liquid or gaseous masses.
[0014] For example, for a self-driving car, common material bodies are pedestrians, other cars, buildings, vegetation, cyclists, etc. Material bodies can be mobile, i.e., dynamic, or static. The occupancy state of a cell can vary over time. Indeed, a cell can be free for a certain time, then suddenly occupied by a moving obstacle, then free again when the obstacle is gone. For example, a pedestrian can stand without moving for a short time, then walk in one direction.
[0015] The standard framework of feature grids calculates the occupancy probabilities of all cells in a grid at each iteration t, taking into account only the instantaneous measurements of the sensors at the same iteration. Let OGt be the feature grid constructed at iteration 1 (or time *j. Consider a cell c that has always been estimated free by all feature grids in OG, at OGt_|.
[0016] At iteration l, suppose that the cell is temporarily occluded from the sensors by a moving obstacle. The occlusion causes the occupancy state of cell c to suddenly change from free to unknown at iteration *. This means that the estimates previous ones were abruptly forgotten even though it is possible that cell c remains free at iteration 1 while it is temporarily occluded.
[0017] The same effect appears for static cells, i.e. cells occupied by fixed obstacles. These cells are considered occupied as long as they are present in the field of vision of the sensors. But, their occupancy state suddenly becomes unknown as soon as they are obstructed by an obstacle, even in motion. However, since they are occupied by a static obstacle, it is possible that these cells remain occupied during occlusion.
[0018] Several approaches exist in the state of the art to take into account the history of measurements in order to estimate the free cells and the cells occupied by a static obstacle.
[0019] The most promising approaches consist of using particle filters to separate cells occupied by dynamic obstacles from cells occupied by static obstacles.
[0020] Particle filters are described for example in the article by Nuss, D., Reuter, S., Thom, M., Yuan, T., Krehl, G., Maile, M., Dietmayer, K. (2018) “A random finite set approach for dynamic occupancy grid maps with real-time application”, The International Journal of Robotics Research, 37(8), 841-866. The definition of a particle in these algorithms may differ but in general, particles are a set of points distributed in space. Particles have position coordinates and a velocity vector.
[0021] A particle also has a weight used to estimate velocity distributions. Between successive iterations, a particle moves according to its velocity (modulo the introduction of a random error).
[0022] The basic idea of these algorithms is to randomly spread particles in space so that their motion follows the motion of dynamic material bodies. The particles are distributed within the grid so that a large number of particles are present in the cells occupied by dynamic material bodies.
[0023] These approaches estimate both where the free cells are, where the static ones are, and where the dynamic ones are, resulting in a solution with a high computational demand. Consequently, these approaches require high-performance computing hardware such as GPUs (Graphics Processing Units) to achieve real-time execution, which is a barrier to their integration into embedded hardware with more limited computational performance and lower power consumption, such as microcontrollers.
[0024] The invention therefore aims to provide a method which takes into account the history of the measurements in order to estimate the free cells and the cells occupied by a static obstacle, and which can be integrated into embedded hardware of the microcontroller type. Summary of the invention
[0025] An object of the invention is therefore a method for characterizing the environment of a mobile carrier, in which, for each iteration at a time C, the following steps are implemented: S10) Acquisition of a plurality of distance measurements in the environment by at least one sensor; S20) Generation of a pair of occupancy grids at time t- 1 and at time, each grid merging the distance measurements into a discretized spatial representation of the environment; S30) Generation of a static space grid at time, each cell of the static space grid at time f having a posterior probability that said cell is occupied by a static material body at time, said posterior probability being calculated for each cell by a binary Bayesian filter from: the posterior probability that said cell is occupied by a static material body at time G 1, said posterior probability that said cell is occupied by a static obstacle at time t -1 being directly injected as input to the binary Bayesian filter; of a so-called static prediction model comprising a probability that the cell is occupied by a static material body at time z as a function of the state of the cell at time t -1; and of an inverse model called static at time f which includes a probability of knowledge of the occupation of the cell by a static material body at time z from the pair of occupation grids at time t -1 and at time z; Or S40) Generation of a free space grid at time, each cell of the free space grid at time t having a posterior probability that said cell is free at time C, said posterior probability being calculated for each cell by a binary Bayesian filter from: of the posterior probability that said cell is free at time t -1, said posterior probability that said cell is free at time U 1 being directly injected into the input of the binary Bayesian filter; of a so-called free prediction model comprising a probability that the cell is free at time * as a function of the state of the cell at time t -1; and of an inverse model called free at time* which includes a probability of knowing that the cell is free at time * from the pair of occupation grids at time t- 1 and at time
[0026] Advantageously, step S30) of generating a static space grid and step S40) of generating a free space grid are implemented concomitantly.
[0027] Advantageously, the method comprises a step S50) of generating a combined grid resulting from the combination of the static space grid and the free space grid.
[0028] Advantageously, each cell i of the combined grid is calculated by the following Bayesian fusion: = F(5G£(O / 1 — FQ(0) In which , ) is the Bayesian fusion function, CGt(i ) corresponds to a cell z of the combined grid at time f, SGt(i) corresponds to a cell 1 of the static space grid at time f, and FGt(i) corresponds to a cell 1 of the free space grid at time z, And according to the value of CGt(i): if CG^i) > 1 / 2, the cell is probably static given the sequence of pairs of occupation grids if CGt(i) < 1 / 2, the cell is probably free, if CGt(i) = 1 / 2, the cell is neither free nor static.
[0029] Advantageously: - the posterior probability that the cell is occupied by a static material body at time z and the static inverse model at time * are approximated by values belonging to a set of finite cardinality, the values being identified respectively by a probability index n(sriwît) and P31 a static inverse model index n(sjwt); - the posterior probability that the cell is free at time* and the free inverse model at timef are approximated by values belonging to a set of finite cardinality, the values being identified respectively by a probability index and by a free inverse model index n(ftlwL).
[0030] Advantageously, the static inverse model index n(s]wt) is calculated as follows: , , x ««(^Ki)>0 and 11(0^) >0 l 0 otherwise The function g( wt} returning a positive value, 11( 0; ] ) corresponding to the index occupancy index of cell z of the occupancy grid OGtA at time t- 1, and corresponding to the occupancy index of cell 1 of the occupancy grid OGt at time z. next:
[0031] Advantageously, the free inverse model index n(ftlwt) is calculated in the following way: h(wt) >0 if n(ojzt) <0 0 otherwise and n(Oi}zt ) corresponding to the occupancy index of the cellz of the occupancy grid OGt at the instant the function h(wt) returns a positive value.
[0032] Advantageously the positive value of the function g(wt) and the positive value of the function h(wt) are constant values.
[0033] Advantageously, the positive value returned by the function g( wt ) is equal to
[0034] Advantageously the positive value returned by the function h ( wt ) is equal to - n(ojzt).
[0035] Advantageously, the free inverse model index n(ftlwt) is calculated as follows: max( -n(,), -n() ) if n(or.f) < 0
[0036] Advantageously, the index x) corresponding to the prediction component of the Binary Bayesian filter of the static space grid is obtained using a lookup table comprising a finite set of probability indices, and the filtered index ) is obtained by adding integer indices of probabilities, and in which the index n(ftlw!t J corresponding to the prediction component of the Binary Bayesian filter of the free space grid is obtained using a lookup table comprising a finite set of probability indices, and the filtered index is obtained by adding integer probability indices.
[0037] Advantageously, each cell z of the combined grid is calculated by the following Bayesian fusion: €^(0 = SG t (f)4 - FGfO) CGt{i} corresponds to a cell 1 of the combined grid at time z, SGt(D corresponds to a cell » of the static space grid at time z, and FGt(ï) corresponds to a cell z of the free space grid at time z, And according to the value of CGt(i): if CGt(i ) > 0 the cell ' is probably static given the sequence of pairs of occupancy grids ) if CG((i) < 0, the cell is probably free, if CGt(i) = 0, the cell is neither free nor static.
[0038] The invention also relates to a method for avoiding a material body moving around a mobile body, characterized in that it implements the aforementioned method to characterize the environment of a mobile carrier, and that it sends a command to an actuator of the mobile carrier in order to avoid said material body.
[0039] The invention also relates to a device for characterizing the environment of a mobile carrier, comprising: - at least one input port for receiving a plurality of signals representative of a time series of distance measurements from one or more distance sensors, and - a data processor configured to receive said signals as input, to generate a free space grid or a static space grid from said signals by applying the aforementioned method. Description of figures
[0040] Other characteristics, details and advantages of the invention will emerge from reading the description given with reference to the appended drawings given by way of example.
[0041] [Fig.l] is a block diagram illustrating the different steps of the method according to the invention.
[0042] [Fig.2] is a diagram illustrating the binary Bayesian filter.
[0043] [Fig.3] is a diagram illustrating the integer binary Bayesian filter.
[0044] [Fig.4] is a diagram illustrating the integer binary Bayesian filter in which the prediction model is constant.
[0045] [Fig.5] is a diagram illustrating the method of characterizing the environment according to the invention by generating a static space grid.
[0046] [Fig.6] is a diagram illustrating the method of characterizing the environment according to the invention by generating a free space grid.
[0047] [Fig.7] is a diagram illustrating the method of characterizing the environment according to the invention by generating a combined grid.
[0048] [Fig. 8] is a diagram illustrating how the method according to the invention differs from an algorithm for estimating the displacement of a material body known to those skilled in the art.
[0049] The different stages of the method according to the invention are illustrated in [Fig.l].
[0050] Acquisition of distance measurements
[0051] The method operates iteratively: at each iteration corresponding to an instant, a new series of measurements is carried out (step S10). Carrying out the same calculations with measurements from several sensors does not pose any difficulty for those skilled in the art.
[0052] The set of measurements from one or more sensors at time 1 makes it possible to determine the probability of occupation of a cell i among the Nc cells of an occupancy grid as described previously. Thus, each cell is identified by an index > ranging from 1 to Nc.
[0053] The reference A actually designates a set of measurements when the system is composed of several sensors or when a sensor produces several measurements at each iteration. For example, a LIDAR scan produces a point cloud composed of a finite number of points.
[0054] Generation of the pair of occupancy grids
[0055] The second step S20 consists of generating a pair wt of occupancy grids. At each instant*, an occupancy grid OGt merges the measurements produced by all the sensors of the system at the same iteration.
[0056] It is recalled that for an OGt occupancy grid, a cell has a binary state: it is occupied by an obstacle or not. In the context of occupancy grids, it is commonly assumed that "not occupied" means "free".
[0057] At each instant, we calculate the probability that a cell is occupied by taking into account all the sensor measurements produced at the same instant. P^oitjzt) represents the probability of occupation of a cell i taking into account the measurements zt.
[0058] Thus, a new occupation grid OGt is generated at time t - 1 and the occupation grid OGt.b generated at time t - 1, is stored in memory in order to be reused for the pair wt of occupation grids. wi-t denotes the sequence in the present request.
[0059] Generation of the static space grid
[0060] In a third step S30, a static space grid SGt is generated at time t. The static space grid SGt is a network of Nc elements, in which:
[0061] life{l, ...,NC}, SGt(i)
[0062] Each cell SGt(i) of the static space grid has a posterior probability that, at the instant the cell is occupied by a static material body P( S^W^) given the sequence of pairs of occupation grids wh.
[0063] Said posterior probability P( Sjlw^ ) is calculated for each cell of the static space grid SGt by a binary Bayesian filter, the principle of which is recalled in [Fig.2],
[0064] Binary Bayesian filtering consists of recursively estimating a hidden state (which is the case if certain cells are obstructed by an obstacle, so that the distance measurement is unknown) in view of observations.
[0065] P( sJZ].t ) is called the posterior probability, because it depends on the specific value of the observations. As illustrated in Figure 2, the posterior probability is fed back into the filter for the next iteration.
[0066] The binary Bayesian filter essentially comprises two steps, namely a prediction step, which depends on the state of the pairs at times prior to 1: t-1 (posterior probability at time t -1, and prediction model at time l) and a measurement update step, which takes into account the inverse model at time l and the prediction output.
[0067] It can be advantageously considered that the static prediction model (probability that the cell is occupied by a static material body at time * as a function of the state of the cell at time t-1) is equal to a constant value a.
[0068] With this assumption, the prediction equation can be written:
[0069] ■ a + (1-P(^>LŸ4)) (1 -«)
[0070] Thus, the value of a influences the prediction in the following way:
[0071] If « = 1, the result of the prediction is p ] j — J, which means that S / keeps the same value as the previous estimate of
[0072] If a — 1, the result of the prediction is p / ^]^ \ _ 1, which means that the prediction of St from st-i results from a completely uncertain estimate of Y
[0073] A value of a between L2 and 1 expresses the degree of uncertainty between the previous cases.
[0074] In the context of the present invention, the inverse model at time 1 is a so-called static inverse model P(.stlwt) which comprises a probability of knowledge of the occupation of the cell by a material body at time t -1 and at time 1 from the pair of occupation grids at time t -1 and at time f. Those skilled in the art can refer to the detailed definition of the inverse model in patent application FR3041451.
[0075] At each instant, the static inverse model is calculated from the pair wt of occupancy grids. Using a binary Bayesian filter with an inverse model comprising the last two occupancy grids (at instant t -1 and at instant*) thus makes it possible to determine, for each cell, whether it is occupied by a static material body. This way of operating differs from the method disclosed in patent application FR3116640, which estimates the movement of a material body using an inverse model that depends only on a single series of temporal observations at an instant l. In patent application FR3116640, the movement is estimated in using an inconsistency grid, generated in response to a detection, between two iterations, of a change in occupancy state in the characteristic grids.
[0076] As illustrated in Figure 2, the posterior probability P( ) that the cell is occupied by a static obstacle at time t- 1 is directly injected into the input of the binary Bayesian filter, which considerably simplifies the method disclosed in patent application FR3116640. Indeed, in this document, the iterative method for estimating the movement of a material body implements a step of propagating the probability indices before these are reinjected into the input of the filter.
[0077] Thus, the method according to the invention makes it possible to characterize the cells occupied by static obstacles, in the environment of a mobile carrier, with lower computational complexity compared to known methods.
[0078] Generation of the free space grid
[0079] In a step S40, the same principle can be applied to generate a free space grid FGt at time t.
[0080] Thus, each cell FGt(i) of the free space grid at time * has a posterior probability )) O116 'a cell is free at time The posterior probability is calculated for each cell by a binary Bayesian filter from:
[0081] - of the posterior probability that said cell is free at time - 1 (P(ft । ))' ia(iite posterior probability that said cell is free at time t -1 (P(ft jlw^ । )) being directly injected into the input of the binary Bayesian filter;
[0082] - of a so-called free prediction model comprising a probability that the cell is free at time 1 depending on the state of the cell at time t -1 (pf jf; and
[0083] - of an inverse model called static at time 1 (p(fjw ) ) which includes a probability of knowledge of the fact that the cell is free at time t -1 and at time 1 from the pair of occupancy grids at time t -1 and at time 1.
[0084] Thus, the method according to the invention makes it possible to characterize free cells, in the environment of a mobile carrier, also with lower computational complexity compared to known methods.
[0085] According to one embodiment, the method according to the invention comprises only the generation of a static space grid (i.e. without the generation of a free space grid), or, conversely, only the generation of a free space grid (i.e. without the generation of a static space grid). Indeed, the two grids are independent, and the method can iterate in a loop the steps S10-S20-S30, or the steps S10-S20-S40.
[0086] Generation of the combined grid
[0087] Alternatively, the static space grid and the free space grid are implemented concomitantly. Thus, at each iteration, a static space grid SGt and a free space grid FGt are generated, from the same distance measurements, with the same wt pairs of occupancy grids.
[0088] Advantageously, at each iteration, the static space grid SGt and the free space grid FGt are combined with each other (cell-by-cell combination), so as to obtain a combined grid CGt (step S50, [Fig.l]).
[0089] Each cell i of the combined grid CGt can be calculated by the following Bayesian fusion:
[0090] CG t (i) AF(SG t (i), 1 - FG t (i))
[0091] ) represents the Bayesian fusion function.
[0092] Thus, according to the sign of CGt ( i ):
[0093] if CGt(i) > 1 / 2, cell i is probably static given the sequence of pairs of occupation grids wtt
[0094] if CGt( i ) < 1 / 2, the cell is probably free,
[0095] if CGt ( i ) = 1 / 2, the cell is neither free nor static.
[0096] Thus, we look at the estimate which “wins” between the estimate of the static space grid SGt and the estimate of the free space grid FGt.
[0097] The method thus described uses the binary Bayesian filter model. One way to improve the implementation and integration of the method in a microprocessor would be to apply an integer binary Bayesian filter, as illustrated in Figure 3. The case where the static prediction model is equal to a constant value a is illustrated by the [Fig.4],
[0098] To do this, we identify the posterior probability P( ^Iw^) that the cell is occupied by a static material body at time 1 by a probability index n(stkV| )• The posterior probability P( । ) that the cell is occupied by a static material body at time t- 1 is identified by a probability index lw Y Similarly, the static inverse model P( Stlwt ) at time 1 is identified by a static inverse model index n ( Sjlwt ). Moreover, the static prediction model is considered to have a constant value a over time.
[0099] These indices belong to a finite cardinality set of probability classes, and the prediction and update steps take advantage of the integer fusion function for the filtering function, using only integer arithmetic, as described in patent application FR3116640. Indeed, the finite cardinality set of probability classes is formed by the union of one or more subsets such that, during the measurement update step, a fusion of two classes of probability belonging to the same subset provides a result also belonging to said subset.
[0100]
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109] The index ) corresponding to the prediction component of the integer binary Bayesian filter of the static space grid is obtained using a lookup table comprising a finite set of probability indices, and the filtered index n^lw ) is obtained by adding integer probability indices. Bayesian Binary Integer Filter Algorithm _ Static Space GridSGt The integer binary Bayesian filter IBBFsg of the static space grid SGt is an algorithm comprising a filter initialization function, and an iterative filter application function, with direct feedback from the filter output. The prediction step, in the filter initialization function, is computed by a lookup table, and the measurement update is computed by a sum of integer indices, as shown below. The initialization function depends on the following input parameters: &GFSE, ^gfse and aSG ^GFSE is a constant that corresponds to the approximation parameter of the sequence ( qn ) of real numbers between 0 and 1 used in the entire Bayesian fusion function, whose parameters x and are probability values, and defined as follows: F(^y)= 2 if n = 0 2 + £gfse if n = ï i . , 2 " ^GFSE Il ~ ~ L F^n-Ÿ $1) ^>1 ? L ) Sin < - 1 The rGFSE index set is a subset of Z used to define the sequence ( qn ) r , ' Thus, instead of working on an infinite sequence ( Qn ) z » we (¾) works only in a finite sequence . For example, to decode neTGKE the indices w in 8 bits only, we take p _ 1 _ jp gl??}- aSG is a constant for the initialization function, with 1 < a < j, and which corresponds to the numerical value of the static prediction model p(sk ). The first step of the initialization function is to determine each entry in the predLUT lookup table starting with an empty vector of the size of ^gfse, then, for each n in TGFSE, the element predLUT^n) is a probability index calculated as follows: predLUT(n) = m where approxpolicy(qn • aSG + ( 1 - qn ) • ( 1 - aSG ) ) = qm
[0110] The approx_policy function approximates the result of the operation (?„ ■ «SCI + (1 - 9.) • (I - «æ)) by “ dC SEQUENCE (ner„E- It is the index m of Qm that is stored in the predLUT(n) element of the predLUT lookup table.
[0111] The application function of the integer binary Bayesian filter IBBFSG ApplyFilter{n(st_^}.FÏ), wGW) is defined as follows:
[0112] Prediction: predLUT(n ( ) )
[0113] Update measure: n ( 5^^ ) *“ » ( 1 ) + n ( )
[0114] The method according to the invention advantageously calculates the static inverse model index n(Stlwt) in the following manner, illustrated by [Fig.5] (block “OG to SIM”): [°115] / kx ««(^-Ki)>0 and n{oikt)>^ I 0 otherwise
[0116] If the cell is probably occupied both at time t- 1 and at time *, the value of the index of the static inverse model is defined by the function g( wt) which returns a positive index. Otherwise, the value of the index of the static inverse model is equal to zero.
[0117] n ( ) corresponds to the probability index in the cell occupancy grid ': OGt(i) =n(Oi^t)
[0118] According to one embodiment, the function g(Wt) returns a constant value ^sg >
[0119] Alternatively, one can define g ( n ( ) ) = max(n ( o-^ , n ( ) )•
[0120] Integer Binary Bayesian Filter Algorithm _ of the Free Space Grid FGt
[0121] The integer binary Bayesian filter IBBFfg of the free space grid FGt is based on the same principle as the integer binary Bayesian filter IBBFSG of the static space grid SGt.
[0122] The posterior probability that the cell is free at time 1 is identified respectively by a probability index n(f JWj ) and 'cm°free inverse model at time 1 (p( fjw ) ) is identified by a free inverse model index n ( f jwt ).
[0123] As illustrated in Figure 6, the integer binary Bayesian filter IBBFfg of the free space grid FGt calculates the probability index n(ft]Wj ) iteratively, depending on the probability index J.
[0124]
[0125]
[0126]
[0127]
[0128]
[0129]
[0130]
[0131]
[0132]
[0133]
[0134]
[0135]
[0136]
[0137] The filter initialization function depends on the following input parameters: £GFSE, ^GFSE and aFG The constant ^GFSE and the index set ^gfse are identical to those used for the integer binary Bayesian filter IBBFSG of the static space grid SGt. ^fg is a constant, with I < $ < p and which corresponds to the numerical value of the free prediction model. The details of the calculations previously explained for the integer binary Bayesian filter IBBFSG of the static space grid SGt apply, in the same way, to the integer binary Bayesian filter IBBFfg of the free space grid FGt; they are therefore not repeated here. The inputs to the IBBFFG filter application function are the probability index n(ft J clu' is calculated recursively, with direct looping from the filter output, and the free inverse model index n^Wf)- Advantageously, the free inverse model index n(ftlwt) is calculated as follows (block "OG to FIM", [Fig.6]): If the cell is probably free at time * from the occupancy grid at time (OGj- the value of the free inverse model index is determined by the function h(wt) which returns a positive value.The index of the free inverse model is equal to zero in other cases, that is: h(wt)>0 if nÇoiJzf) <0 0 otherwise . n(o;Jtzt) corresponds to the probability index in the cell occupancy grid ô OGt(i) = 0(0^) According to one embodiment, the function h ( wt ) returns a constant value rb Alternatively, we can define = - n ( ojzt ) Or, according to another variant: max( -n(oit.^), -n() ) if n() <0 -n(Oi)zt) otherwise The generation of a combined grid resulting from the combination of the static space grid SGt and the free space grid FGt can be implemented using the integer binary Bayesian filters, as illustrated in Figure 7, the combination being made, in this case, between the probability indices n(stlwf ) and faǰna get a clue for each cell in the combined grid.
[0138]
[0139]
[0140]
[0141]
[0142]
[0143]
[0144]
[0145]
[0146]
[0147]
[0148]
[0149]
[0150] In this case, using the integer binary Bayesian filters, each cell 1 of the combined grid CGt can be computed by the following Bayesian fusion: CG t (i) — SG t (i) — FG t (i) Thus, according to the sign of CGt(i): if CGt ( i ) > 0, the cell • is probably static given the sequence of pairs of occupation grids wti if CGt(i) <0, the cell is probably free, if CGt(i) = 0, the cell is neither free nor static. Thus, we look at the estimate that "wins" between the estimate of the static space grid SGt and the estimate of the free space grid FGt. Alternatively, it is possible to apply a maximum value criterion. Thus, each cell ' of the combined grid CGt can be calculated as follows: f—(i) if FG t (i) > SG^i) CG t (i) = 5 0 if FG t (i) = SG t (i) (SG t (i) in other cases By using integer binary Bayesian filters, motion estimation can be performed in microprocessors, for example with ARM (registered trademark) type architectures, whereas in the prior art, estimation is very computationally intensive, and usually requires graphics processors (or GPUs for "Graphics Processing Unit"). [Fig.8] illustrates the complementarity between the method according to the invention and that described in patent application FR3116640. A plurality of sensors (sensor 1, ..., sensor n). The measurements are merged by implementing the method as described in patent application FR3041451, which makes it possible to obtain occupancy grids OG (an occupancy probability per cell). The occupancy grids can be used both to generate the static space and free space grids according to the present invention, or to generate the motion grid described in patent application FR3116640. However, the calculations to arrive at the motion grid are fundamentally different from those used to arrive at the static space and free space grids, as previously indicated. The method according to the invention can be implemented by at least one distance sensor, for example a LIDAR, a RADAR or even a SONAR, or by a camera capable of extracting distance information from a scene acquired by the sensor. The feature grids are established from the distance measurements made by the sensor.
[0151] The sensor can be on board a mobile carrier, such as a vehicle, in particular an autonomous vehicle, or a non-autonomous vehicle, and in this case the method according to the invention makes it possible to assist the driver in detecting obstacles.
[0152] The mobile carrier can also be any device capable of moving autonomously, for example a domestic appliance such as an autonomous vacuum cleaner, or a gardening appliance such as an autonomous lawn mower.
[0153] The mobile carrier further comprises actuators, capable of correcting the trajectory of the autonomous mobile carrier as a function of the characterization of the environment of a mobile carrier which has been carried out using the method according to the invention.
[0154] The invention has been essentially described by discretizing the set of probabilities in a set of finite cardinality, in order to avoid having to perform calculations using floating point arithmetic. This arrangement makes it possible in particular to implement the method according to the invention in an embedded system, having strong integration constraints.
[0155] The method according to the invention could also use floating point arithmetic, in particular if the computing capabilities of the device implementing the method make it possible to characterize the environment in real time.
Claims
Claims
1. Method for characterizing the environment of a mobile carrier, in which, for each iteration at an instant f, the following steps are implemented: S10) Acquisition of a plurality of distance measurements in the environment by at least one sensor; S20) Generation of a pair of occupancy grids at time r 1 (pGt^ and at time t (^), each grid (OG^ OG^ merging the distance measurements into a discretized spatial representation of the environment; S30) Generation of a static space grid at time t (sgQ' each cell (,SGt ( j ) ) of the static space grid at time z having a posterior probability that said cell is occupied by a static material body at time z said probability posterior p ( being calculated for each cell \$Gt ( i ) ) by a binary Bayesian filter from: of the posterior probability that said cell is occupied by a static material body at time t - 1 (p[g said posterior probability that said cell is occupied by a static obstacle at time t -1 Çp^ ? being directly injected into the input of the binary Bayesian filter; of a so-called static prediction model comprising a probability that the cell is occupied by a static material body at time 1 as a function of the state of the cell at time Gl(p(^ i)); and of an inverse model called static at time 1 (p( g^ j ) which includes a probability of knowledge of the occupation of the cell by a static material body at time * from the pair of occupation grids at time t -1 and at time *; and / or S40) Generation of a free space grid at time t (pG / h each cell ipG( ( / ) ) of the free space grid at time ' having a posterior probability that said cell is free at time' pç ) j, said posterior probability being calculated for each cell by a binary Bayesian filter from: - the posterior probability that said cell is free at time t -1 | A said posterior probability HA-iM that said cell is free at time ~ 1 / „ 1 \ \ being directly injected as input to the binary Bayesian filter; - a prediction model called free comprising a probability that the cell is free at time1 as a function of the state of the cell at time t -1; and - an inverse model called free at timef [pç which comprises a probability of knowing that the cell is free at timef from the pair of occupancy grids at time t -1 and at time *.
2. The method of claim 1, wherein step S30) of generating a static space grid and step S40) of generating a free space grid are carried out concomitantly.
3. A method according to claim 2, comprising a step S50) of generating a combined grid (jÇG^ resulting from the combination of the static space grid and the free space grid
4. The method of claim 3, wherein each cell ' of the combined grid (CGZ) is calculated by the following Bayesian fusion: f ^.(0 - 1 FA(0) Wherein , ) is the Bayesian fusion function, CGt(i) corresponds to a cell 1 of the combined grid at time SG^i) corresponds to a cell * of the static space grid at time \ and FGt(i) corresponds to a cell ' of the free space grid at time *, And according to the value of CGt{i); - if CGt(i) > 1 / 2, the cell ( is probably static given the sequence of pairs of occupancy grids [w ) - if CGt(i) < 1 / 2, the cell is probably free, - if CGt(i) = 1 / 2, the cell is neither free nor static.
5. Method according to one of claims 1 to 3, in which: - the posterior probability that the cell is occupied by a static material body at time 1 (p)) and the static inverse model at time * (p( st\wf ) ) are approximated by values belonging to a set of finite cardinality, the values being identified respectively by a probability index n^kv^) and P31 a static inverse model index n(S(lwt); - the posterior probability that the cell is free at time * ^p( j-^w and the free inverse model at time * (pçsont approximated by values belonging to a set of finite cardinality, the values being identified respectively by a probability index and P31 a free inverse model index n(ftlwt).
6. Method according to claim 5, in which the static inverse model index n(Sjlwt) is calculated as follows: z, , U(w7)>0 if «t 0(0^ w(^)= \ l 0 otherwise The function g( w( ) returning a positive value, n ( Oi ) corresponding to the occupancy index of cell 1 of the occupancy grid OGt.} at time t- 1, and corresponding to the occupancy index of cell i of the occupancy grid OGt at time t.
7. Method according to one of claims 5 or 6, in which the free inverse model index n(fjwt) is calculated as follows: / rL xp(wf)>0 0 otherwise and ) corresponding to the occupancy index of the cell ' of the occupancy grid OGt at the instant the function h(wt) returning a positive value.
8. A method according to claims 6 and 7, wherein the positive value of the function g(wc) and the positive value of the function h(wt) are constant values ('' Y 'sv PFGJ
9. The method of claim 6, wherein the positive value returned by the function g(wt) is equal to max(n ( ), n ( ) )•
10. The method of claim 7, wherein the positive value returned by the function h(wt) is equal to - n( ojzt ).
11. Method according to one of claims 5 or 6, in which the free inverse model index n(ftlwt) is calculated as follows: max( -n(o,-^^\-n(0^) ) if n(o^z^) <0 ' r ■ -n(Oi / zt) otherwise n ( 0^ ) corresponding to the occupancy index of the cell( of the occupancy grid OGt at time z, and n(Oi4) corresponding to the occupancy index of the cell * of the occupancy grid OG^ at time t- 1.
12. Method according to one of claims 5 to 11, in which the index n(stIW] tj) corresponding to the prediction component of the binary Bayesian filter of the static space grid is obtained using a lookup table comprising a finite set of probability indices, and the filtered index n(stlwit) is obtained by adding integer probability indices, and in which the index n(ftIW[t J corresponding to the prediction component of the binary Bayesian filter of the free space grid is obtained using a lookup table comprising a finite set of probability indices, and the filtered index ) is obtained by adding integer probability indices.
13. Method according to one of claims 5 to 12 in combination with claim 3, in which each cell 1 of the combined grid (CGt) is calculated by the following relation: ŒÊ(i) .= SCt.(ï) - FQ(0 CGt{i) corresponds to a cell ' of the combined grid at time Y SGt(i) corresponds to a cell ' of the static space grid at the instant FGt{i) corresponds to a cell i of the free space grid at the instant\ And according to the value of CGt(ï): - if CGt( i ) > 0 the cell is probably static given the sequence of pairs of occupancy grids) - if CGt ( i ) < 0, the cell is probably free, - if CGt(i) = 0, the cell is neither free nor static.
14. Method for avoiding a material body moving around a mobile body, characterized in that it implements the method according to one of claims 1 to 13 to characterize the environment of a mobile carrier, and that it sends a command to an actuator of the mobile carrier in order to avoid said material body.
15. Device for characterizing the environment of a mobile carrier, comprising: - at least one input port for receiving a plurality of signals representative of a time series of distance measurements from one or more distance sensors, and - a data processor configured to receive said signals as input, to generate a free space grid and / or a static space grid from said signals by applying a method according to one of claims 1 to 14.