Robotic Mapping: Pathfinding Using Dead Reckoning Techniques
School Name
South Carolina Governor's School for Science & Mathematics
Grade Level
12th Grade
Presentation Topic
Computer Science
Presentation Type
Mentored
Abstract
The purpose of my research was to use dead reckoning to program a Roomba to navigate a given space. Dead reckoning is the process of only using an initial location and the measurements you can get from your environment to navigate to determine your current location. We accomplish this through controlling the Roomba a using a Raspberry Pi microcomputer. The Raspberry Pi communicates to the Roomba via a serial port which can send sensor information from the Roomba to the Pi. I discovered that the Roomba’s sensors for determining its velocity is inaccurate, so I made a series of computations using the wheel encoders to determine its position. The Roomba uses a point-based system to navigate the world and I programmed the Roomba to move from point to point using the A* algorithm, which is a pathfinding algorithm that determines the set of points that takes the Roomba to the goal in the shortest time. Right now, I have successfully written the program that can accurately move the Roomba from one point to any other point and detect obstacles in the world. Because the math for the bots is the same, this technology can be implemented to real needs, like search and rescue drones, self-driving cars, agricultural, and military automation.
Recommended Citation
Adusumilli, Jyoti, "Robotic Mapping: Pathfinding Using Dead Reckoning Techniques" (2019). South Carolina Junior Academy of Science. 152.
https://scholarexchange.furman.edu/scjas/2019/all/152
Location
Founders Hall 140 A
Start Date
3-30-2019 11:45 AM
Presentation Format
Oral Only
Group Project
No
Robotic Mapping: Pathfinding Using Dead Reckoning Techniques
Founders Hall 140 A
The purpose of my research was to use dead reckoning to program a Roomba to navigate a given space. Dead reckoning is the process of only using an initial location and the measurements you can get from your environment to navigate to determine your current location. We accomplish this through controlling the Roomba a using a Raspberry Pi microcomputer. The Raspberry Pi communicates to the Roomba via a serial port which can send sensor information from the Roomba to the Pi. I discovered that the Roomba’s sensors for determining its velocity is inaccurate, so I made a series of computations using the wheel encoders to determine its position. The Roomba uses a point-based system to navigate the world and I programmed the Roomba to move from point to point using the A* algorithm, which is a pathfinding algorithm that determines the set of points that takes the Roomba to the goal in the shortest time. Right now, I have successfully written the program that can accurately move the Roomba from one point to any other point and detect obstacles in the world. Because the math for the bots is the same, this technology can be implemented to real needs, like search and rescue drones, self-driving cars, agricultural, and military automation.