Saturday, November 21, 2015

Probabilistic Occupancy Grid

As part of my work with the MathWorks Robotics System Toolbox (RST), I built a prototype for a probabilistic occupancy grid, when we were expanding our features for implementing SLAM using the RST. Here are some slides on grid maps for robotics, and here is my codebase on GitHub.

This is a prototype I created as part of a project, where I implemented
  • Binary Occupancy Grids,
  • Probabilistic Occupancy Grids with log-odds probability, and
  • Probabilistic Occupancy Grids with hit-and-miss probability. 


It included a laser-beam sensor model for a range sensor. Below is a video of a lidar that scans the environment once to get a probabilistic occupancy grid of the space around it. The probability of occupancy goes from 0 (white) to 1 (black).


This was very much a prototype and a lot more features were eventually added for the official occupancy grid feature in the RST. However, this prototype it was fleshed out a little more with helper functions (e.g., to convert a probabilistic grid to a binary grid), unit tests, and a few comments.