SCAR

About

SCanning And Reconstruction (SCAR) was my final project for Olin's Computational Robotics class. The goal of the project was to use a Roomba-like (a Neato) vacuum robot and its LIDAR to plot the contour of objects it drove around. In this way its goal was similar to a more traditional SLAM algorithm, although this was implemented without explicitly researching SLAM with the intent to build this algorithm off seperate components rather than one large existing algorithim like SLAM.

In the course of this project we ended up using an Iterative Closest Points (ICP) algorithm as well as implementing a pseudo-raycasting. We also imployed the use of Gazebo simulator to have a stable testing environment.

A full writeup of the project can be found here

The final presentation poster of the project can be found here

Skills

  • Python - The project was implemented entirely in python
  • ROS - Basis for communications wtih Neato robot and sensor data passing
  • Software Design - Creation of software architecture to manage sensor data and perform necessary transformation on data. Needed to be flexible enough to not be a hassle to iterate or pivot on.
  • Visualization - Given how much data we were working with and how many transformations it was going through, as well as the visual nature of the project, it was important to our own understanding, debugging, and communication to others we could visually represent what was going on.

Team

Norway

Mapping of Simulation Space


Norway

Simulation Environment


Norway

Implementation of "Raycasting"

Points behind the other points should not be observed the robot and thus are not considered when trying to match current scan to the existing map.