Autonomous vehicles are nowadays more and more visible in our life. Most of them can be found in warehouses or on the road. As they evolve in a complex world, they need to assess the best choices to make regarding of the possible obstacles. These choices are guided by the notion of risk: the robot has not to harm others or itself. Fraichard2007 introduced this notion for known obstacles: the robot has not to collide with others to ensure its safety.
The most common way to store and deal with obstacles are the occupancy grids [Elfes1989]. The map is discretized into a finite number of cells, where each cell stores the probability of occupancy. While navigating, the main concern is to ensure the safety of the robot and its surrounding. The most commonly used metric is the probability of collision, as the impact between the robot and another physical object is the main hazard [Fraichard2007]. In occupancy grid, we would be tempted to assess the probability of collision as the joint probability of colliding each cell. This simplicity hide a huge drawback that appears when computing this probability for two discretizations of the same map. Figure 1 shows a robot wanting to cross an environment where the probability of occupancy is . We discretized the environment with two different cell sizes. For the first one, we need to compute the probability that at least one cell is occupied, i.e., . For the second one, we only need to compute this probability over two cells, leading to . We see that probabilities of collision for crossing the same part of the environment are completely different and dependent on the discretization size. The grids however store the same information using different discretizations, thus should give the same probability of collision. This problem can also be encountered while dealing with occupancy grids stored in quad-trees [Kraetzschmar2004]. Indeed, the robot could decide to cross a large high-probability cell instead of ten small low-probability cells.
We define the risk as a quantification of the danger encountered along a path. More precisely, this risk will be quantified as the force of collision the robot expects from a path. It is indeed more ‘risky’ to hit a car at high speed than at low-speed.We propose in this article a novel method to compute the risk over a path. Our key contributions are:
A novel type of map, called lambda-field, specially conceived to allow path integrals over it;
A mathematical formulation of the collision probability over a path; and
A definition of the risk encountered over a path, specified as the expected force of collision along a path.
Section II presents a survey of the different methods to store the occupancy of the environment and the attempts to assess risk in these maps. Section III describes the theory of the lambda-field and shows the inherent application to risk assessment. Finally, we test in simulation our theory in Section IV, with a robot-follower scenario.
Ii Related Work
When dealing with complex environments, it becomes difficult to describe the map in a topological way [Saval-Calvo2017]
. Instead, the map is discretized into cells, which carry the probability of occupancy. This concept was first introduced by Elfes1989, enhanced later with Bayesian estimation by Coue2003.
Recently, OCallaghan2016 used Gaussian process to store the occupancy map without discretization. The main drawback of this method is the processing complexity which can be quite expensive. Senanayake2017a introduced the concept of Hilbert maps, mainly to overcome the problems encountered while using Gaussian process. However, these techniques do not allow any good formulation of the probability of collision along a path. We hence present in this article a new way to store the occupancy of an environment, in a fashion that allows the computation of collision risk.
The most commonly measure of risk is the time-to-collision (TTC) introduced by Lee1976. This approach however assumes that all the obstacles are known and non probabilistic. Laugier2011 demonstrated some of its limitations.
Another approach is to cluster the obstacles, as done by Althoff2010 and Fulgenzi2007. That way, the probability of collision is the union of the probability of collision to each obstacle. As it is very tempting, the clustering and target-tracking is still an open problem. Furthermore, the probability of collision to static objects is not addressed. The notion of risk is indeed limited to moving obstacles, that are often considered as known. Fraichard2007 presented in this fashion a model of risk and safety, but for dynamic environments and known obstacles.
To our best of our knowledge, the notion of risk along a path has not been well-defined, as well as a way to compute it. We hence propose a new framework to allow computation of a risk (i.e., danger) along a path.
Works about planning in uncertain maps are relatively limited: the map is often assumed to contain only free and occupied cells (as done in Gerkey2008 for example). Indeed, the developed metrics of risk along a path in Bayesian occupancy grid lack of physical meaning. It is hence difficult to know at which point the robot should stop, and a hard threshold is defined. Missiuro2006 adapted the framework proposed by Kavraki1996 to cope with uncertainty in topological maps. The work is however not easily transposable to Bayesian occupancy grids. Rummelhard2014 defined the risk as the probability to collide with a specific area, as well as the maximum value of collision over the collided cells. This approach was mainly developed to overcome the limitations of the Bayesian occupancy grid. Heiden2017 proposed a way to plan trajectories in Bayesian occupancy grid using product integrals. Nevertheless, the last two metrics lack of a physical meaning. Our method extends their works, adding a physical meaning to the risk value, as well as taking into account the size of the robot.
Iii Theoretical Framework
The key concept of the lambda-field is its capability to assess the probability of collision inside a subset of the environment in which the robot evolves. It relies on the mathematical theory of the Poisson point process. This process counts the number of events which have happened given a certain period or area, depending of the mathematical space. In our case, we want to count the number of the event ‘collision’ which could occur given a path (i.e., a subset of ).
For a positive real-valued field , the probability to encounter at least one collision in a path is
Nonetheless, it is both impossible to compute and store the field . We hence discretize our field into cells in a similar fashion to Bayesian occupancy grids. Under the assumption that the cells are small enough, the probability of collision can be approximated by
for a path crossing the cells , where each cell has an area of and an associated lambda , which is the intensity of the cell. The higher that lambda is, the most likely an obstacle is in this cell.
Using this representation, we hereby see that the probability of collision is not dependent on the size of the cells. It is indeed the same to compute the probability of collision for crossing two cells of area or one cell of area for a constant . Figure 2 gives an example of a path the robot might take, as well as the underlying cells (of area ) it crosses. The robots crosses cells with and one cell with : using Equation 2, the probability of collision is evaluated at .
Iii-a Computation of the field
As we established a new approach to represent the occupancy of an environment, we need to develop a way to compute dynamically the lambdas. We assume that the robot is equipped with a lidar sensor, which gives us a list of cells crossed by beams without collision, and another list of cells where the beams collided. Also, we chose to represent the uncertainty of the sensor in a fashion that differs from the standard forward models [Elfes1989], given three variables:
, the region of error of the lidar for the beam with its associated area . It represents the accuracy of the sensor, and can be of any shape: it means that the true position of the obstacle is within the region , centered on the obstacle measurement from the beam . We chose to set the shape and size of constant for every measurements. We thus have for all beams.
, the probability of rightfully read ‘miss’ for a cell (i.e., the cell is not in the region of error ). The quantity hence gives the probability to read ‘miss’ for a cell that should be in the region of error .
, the probability of rightfully read ‘hit’ for a cell (i.e., the cell is in the region of error ). The quantity hence gives the probability to read ‘hit’ for a cell that is empty. The probability is for example much lower when the sensor is in the rain, as many readings comes from the raindrops.
We can directly convert a Bayesian occupancy grid into a lambda-field. To do so, we need to give a meaning to the probability of occupancy contained in every cell, which is not dependent on the size of the cell. Otherwise the deduced from the probability of occupancy would be dependent on the size of the cell, hence losing all purpose. A valid approach is to say that the probability means that we would have the probability of colliding if the cell had an area of . Indeed, it means that we are sure that every lidar reading truly hit this cell. Mathematically speaking, we would have for any cell
with a Bayesian probabilitythe corresponding , defined as
Nevertheless, it is far more efficient and logical to directly fill the lambdas from the lidar’s data. We developed an approximate closed-form from the Expectation-Maximization algorithm. We want to find the combination ofthat maximizes the expectation of the beams the lidar has shot since the beginning. For each lidar beam , the beam crossed without collision the cells and hit an obstacle contained in the cells . The log-likelihood of the beam is
The log-likelihood of lidar beams is then
We want to maximize this quantity, hence nullify its derivative since the function is concave. The derivative of the log-likelihood equals to
where stands for the number of times the cell has been counted as ‘miss’.
We can approximate this equation with the assumption that the variation of lambda inside the region of error of the lidar is small enough to be negligible. Thus, for each we have
Using this approximation, the derivative becomes
where is the number of times the cell has been counted as ‘hit’ (i.e., was in the region of error of the sensor).
Finally, we can find the zero of this derivative for each lambda, leading to
This closed-form allows very a quick computation of the lambda field. We also see that the formula does not depend on the size of the cells, as expected.
Iii-B Confidence intervals
In the same way as Agha-mohammadi2016, we define the notion of confidence over the values in the lambda-field. Indeed, the robot should not be as confident over a certain path if the cells have been read one time or one hundred times. For each cell , we seek the bounds and such that
Using the relation where is the number of times the cell has been measured, we can rewrite the above equation as
The quantity can be seen as a sum of two binomial variables:
where (resp. ) is the number of times the sensor rightfully read a ‘hit’ out of the trials (resp. read a ‘miss’ out of the trials). The quantity is hence the number of times the sensor wrongfully read ‘hit’ instead of ‘miss’.
The distribution of
is not binomial but a Poisson binomial distribution with poor behaviors in terms of computation. Since the Poisson binomial distribution satisfies the Lyapunov central limit theorem, we can approximate its distribution with a Gaussian distribution of same mean and variance:
We can then have the bounds at 95%, with
where is the standard gaussian error function. and are then retrieved from and using Equation 12.
shows examples of behavior of the confidence intervals for different confidences. The lidar measures an empty cell. The confidence interval quickly decrease as the number of readings ‘miss’ increases. At the fortieth measurement, the lidar misreads and returns a ‘hit’ for the cell. The confidence interval grows around the expected lambda computed with Equation 9 before reconverging.
Iii-C Risk assessment
As said before, the motivation of the lambda-fields is its ability to compute path integral, hence a risk along a path. For a path crossing the cells
in order, the probability distribution over the lambda-field is
where and is the floor function. The variable denotes the area the robot has already crossed. Figure 4 shows an example of the probability density for a given path on a lambda-field: when the robot goes though high-lambda cells, the cumulative distribution probability quickly increases to one.
This can be easily proved as integrating over a certain path crossing the cells gives the probability of encountering at least one collision:
We can then define the expectation of a function over the path:
The random variabledenotes the position (i.e., area) at which the first event ‘collision’ occurs. Most of the time, the cells are small enough to assume that the function is constant inside each cell. Using this assumption, we simplify the above equation to
for a path going through the cells .
In our case, we are interested in the risk of a certain path. In other words, the function will be the risk encountered at each instant or position.
We chose to model the risk as the force of collision if the collision occurred at the area , which is
where is the mass of the robot, and is its velocity at the area . One can note that it is quite easy to convert into the curvilinear abscissa, which is far more convenient to link to the speed. For a robot of width which has crossed an area , its curvilinear abscissa equals to
This metric, fast to process, assumes that every obstacle the robot might encounter has an infinite mass. It means that if the robot collides with an obstacle, the resulting collision would lead the robot to stop (i.e., losing a momentum of ).
More complicated metrics can of course be developed. One can think of the maximum of force of collision (i.e., loss/gain of momentum) between the robot and the obstacle of mass . This metric is particularly interesting to quantify the fact that, for a same speed, colliding a pedestrian is more ‘risky’ than hitting a car. It needs however to associate a mass to every cell, which can be difficult to do.
Iv Simulation Experiment
As done in [Heiden2017] or [Fulgenzi2007], we demonstrate the validity of our framework in a robot follower scenario. The simulation allows us to perfectly control the position of the robot and the pedestrian it is following, as well as controlling the noise ratio of the sensors. As the other methods of path planning and risk assessment do not take the same risk into account, the comparison is difficult. We indeed do not seek to find the best path, but to ensure that the path the robot takes is below a certain risk limit.
The robot is equipped with a lidar and has no prior knowledge of its environment. The robot wants to follow a pedestrian. It also has no prior knowledge of the pedestrian trajectory but does know its position at each instant. The pedestrian will go through a narrow passage that the robot cannot cross without rising the risk above the maximum. It will hence have to find another way to rejoin the pedestrian.
We discretized the field into cells of size . We assumed that the robot weights and the sensor has the probability of and to read the right information. The value of is intentionally really large since it is almost impossible for a lidar beam to entirely miss an obstacle. It is however far more possible that the lidar returns a hit for a free region (when the beam hit a raindrop, for example) We also choose to model the region of error of the lidar as a disk of area .
We chose to implement the path-planning algorithm presented in [Gerkey2008]. Every second, the robot samples trajectories, parametrized as a velocity and a rotational velocity applied for one second. It then chooses the best trajectory, which is the one that stays the closest to the path (from a global path planning algorithm between the robot and the pedestrian). For each trajectory, we first process its associated upper limit risk using Equation 19. All the trajectories that present an upper limit risk above the maximum risk allowed are discarded. If all of the trajectories are above the risk limit, we allow the robot to have a negative velocity and retry to find a trajectory. If none of the new trajectories is acceptable, the robot choose not to move as it is its only admissible decision. In our case, we chose that the maximum risk is , meaning that we are sure at percents that the robot will not encounter collision with a force above this maximum.
Figure 5 shows the evolution of the robot across the map. After the first measurement, the robot is not confident enough about the values of lambdas around it and chooses not to move. A second later, enough measurements has been taken and the confidence intervals have been narrowed enough to allow the robot to follow the pedestrian. The pedestrian then goes through a passage too narrow for the robot: every path going in this passage are indeed above the maximum risk allowed. The robot then decides to go around the obstacle as it is its only way to safely reach the pedestrian. The robot can then rise its velocity and meet the pedestrian at the end of the course.
Figure 6 shows the risks the robot has taken along its path. We can see three main parts: The first one, between and , is when the robot follows closely the pedestrian. We can see that the robot decides not to move at the first instant, as the risk is too high. The risk lowers as the robot moves, since it takes new measurements every second. The second one, between and , is when the pedestrian goes through the narrow passage. The robot hence tries to follow him while being below its risk limit. We can indeed see that the robot is taking more risks in order to try to follow the pedestrian, which was unsuccessful. The robot then goes around the obstacle in the third part at in order to catch up the pedestrian. The upper risk in the last part is higher since the robot evolves in an area it was not able to measure before, while increasing to the maximum its velocity (hence its risk) in order to reach as fast as possible the pedestrian. Furthermore, we see that the expected risk is zero for the whole navigation, meaning that we expect no collision at all. We are also sure at 95 percent that the force of an unexpected collision is below .
The whole framework is quite light in terms of computation. Indeed, the update of the map only needs to increment two variables per cell ( and ). The risk assessment also only needs to sum over the cells the robot will cross for the next second, which does not ask many computations for a reasonnable cell size (i.e., in our case).
In this article, we present a novel representation of occupancy of the environment, called lambda-field. We first derived a way to fill the map, as well as confidence intervals over these values. This representation specifically allows the computation of path integrals. Using the lambda-field, we are able to compute the risk of collision over a path, defined as the force of collision. We then tested the theory in a robot follower situation, where the robot demonstrated its ability to follow the pedestrian while being below the risk limit.
Future works will add dynamic and occluded obstacles, since the robot is not alone in most of the applications.
This work was funded by grants from the French program ‘investissement d’avenir’ managed by the National Research Agency (ANR), the European Commission (Auvergne FEDER funds) and the ‘Région Auvergne’ in the framework of the LabEx IMobS 3 (ANR-10-LABX-16-01).