Description
- To understand how to use lidar data to generate occupancy probabilities
- Apply logodds updates based on given Bresenham raytracing outputs
- Convert a logodds grid to a probabilistic occupancy grid
You are provided with lidar measurement data (Measurements.txt), as well as a Python 3 Jupyter Notebook which contains the required supplementary code (thanks to Paul Balzer). Your task is to complete each TODO section of the notebook in order to generate a probabilistic occupancy grid, as well as answer the given written questions.
Resources and Instructions
There are 3 TODO sections to complete in the given Jupyter notebook:
- Write code to convert lidar data in spherical coordinates to Cartesian coordinates in the function ibeo2XYZ().
- Perform the logodds update for the `grid` global variable in insertPointcloudBRESENHAM(). Make sure to complete both TODOs in this section.
- Convert the logodds grid to a probabilistic occupancy grid.
In addition, there are two written questions you must answer:
- What are the computational advantages of using logodds when generating our occupancy grid?
- Is the angle phi in our Spherical to Cartesian calculation the same as the polar angle in standard Spherical coordinates? Why?
Deliverables
HTML output: In the Jupyter Notebook, go to File > Download as > HTML (.html).
In addition, include a PDF file of your answers to the two written questions. Submit a ZIP file containing the HTML output and the PDF file.
Run all code blocks before downloading the HTML.
Â
Please follow the naming convention for your zip file: a5_<user_id>.zip ​