Occupancy Grid Mapping

We will use occupancy grids (Moravec and Elfes, 1985, Murray and Little, 1998), a well known technique for detecting obstacles in mobile robotic applications. The idea is to have an estimate of the presence of an obstacle at each 2D location x in the reference frame of the (moving) wheelchair at each time, t. A 2D location, x, will contain an obstacle if there is some object in the column of space at x extending from the ceiling to the floor.

The first step is to convert the 3D depth measurements to 2D measurements of depth. We do this by defining a function which, given a 2D position relative to the wheelchair, x, returns the depth of the closest object in that direction. That is, z(x) is the minimum depth measured at position x (for any vertical position). Now, let cx be a binary variable that, if 1 means the cell at x is occupied, and if 0 means the cell at x is free space. An occupancy grid at some time, t, gives, for each cell in the grid, P(cx=1 |z(x)). This probability will be close to 1 if there is an object at depth : P(cx=1 |z(x))

The occupancy can be estimated at each frame delivered from the 3D sensing device. For additional robustness, we can integrate these estimates over time. However, since the wheelchair is moving, we must use some estimates of its movement, from odometry sensors in the wheels. Then, we can temporally integrate the occupancy grid using the following formula:

Note that the occupancy grids we are using are strictly local. That is, we do not try to construct global maps of the environment, only local ones. In the future, however, it might be necessary to have global maps if we wish for the wheelchair to be able to reason about and optimise over longer term goals the user might have. For example, if the user is trying to get to the kitchen, but is having trouble, it will be useful for the wheelchair to know how to find the kitchen. This requires a more global map.

Examples of Occupancy Grids

Driving the wheelchair towards an elderly person with a walker.
Original Image Disparity Image Local Occupancy Grid