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.
Recommended Citation
Adusumilli, Akhil and Yonce, John, "Robotic Mapping: Testing and Correcting Roomba Speed Accuracy" (2019). South Carolina Junior Academy of Science. 153.
https://scholarexchange.furman.edu/scjas/2019/all/153
Location
Founders Hall 250 B
Start Date
3-30-2019 11:45 AM
Presentation Format
Oral Only
Group Project
Yes
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.