Robotic Mapping: Testing and Correcting Roomba Speed Accuracy

School Name

South Carolina Governor's School for Science & Mathematics

Grade Level

12th Grade

Presentation Topic

Engineering

Presentation Type

Mentored

Oral Presentation Award

4th Place

Abstract

The purpose of our research is to use a dead reckoning program to allow a Roomba to navigate around an area. Dead reckoning is the process of using only your initial location and the information from your environment as you navigate to determine your current location. We accomplished this task through controlling the Roomba using a Raspberry Pi, a small computer, which communicates to the Roomba via a serial port on the Roomba and can send sensor information to the Raspberry Pi. Various trials that we conducted allowed us to compare our calculations for speed to those of the Roomba. In the trials, we tested the Inertial Measurement Unit’s (IMU) distance, versus the Roomba’s commanded distance, versus measured distance, and found that the most accurate measurement was the wheel encoders on the Roomba. From there, we measured using the wheel encoders in order to navigate with the most accuracy. After calibration, we created a mapping system to work in a 5x11 grid, in which each square was 50cm x 50cm. Using a pathfinding algorithm called A*, the Roomba was able to navigate in this grid. The final task we accomplished was to remove the limitations on the Roomba by removing the grid. The Roomba is now capable of navigating to a commanded point through the shortest path, around obstacles. The application of our accomplishments is the implementation of this dead reckoning system into other robotic systems, such as drones and self-driving cars.

Location

Founders Hall 250 B

Start Date

3-30-2019 11:45 AM

Presentation Format

Oral Only

Group Project

Yes

COinS
 
Mar 30th, 11:45 AM

Robotic Mapping: Testing and Correcting Roomba Speed Accuracy

Founders Hall 250 B

The purpose of our research is to use a dead reckoning program to allow a Roomba to navigate around an area. Dead reckoning is the process of using only your initial location and the information from your environment as you navigate to determine your current location. We accomplished this task through controlling the Roomba using a Raspberry Pi, a small computer, which communicates to the Roomba via a serial port on the Roomba and can send sensor information to the Raspberry Pi. Various trials that we conducted allowed us to compare our calculations for speed to those of the Roomba. In the trials, we tested the Inertial Measurement Unit’s (IMU) distance, versus the Roomba’s commanded distance, versus measured distance, and found that the most accurate measurement was the wheel encoders on the Roomba. From there, we measured using the wheel encoders in order to navigate with the most accuracy. After calibration, we created a mapping system to work in a 5x11 grid, in which each square was 50cm x 50cm. Using a pathfinding algorithm called A*, the Roomba was able to navigate in this grid. The final task we accomplished was to remove the limitations on the Roomba by removing the grid. The Roomba is now capable of navigating to a commanded point through the shortest path, around obstacles. The application of our accomplishments is the implementation of this dead reckoning system into other robotic systems, such as drones and self-driving cars.