Shanel’s Status Report 4/11
I dedicated our efforts this past week to the software side of our project.
First, I implemented A* search to generate a path for the robot to a previously selected destination. I used the Manhattan Heuristic so we could have a simple representation of the bearings of the robot as one of : North, South, East, and West. The path is represented as a list of points for the robot to navigate to next.
As a MVP, we made the decision that the robot would completely travel to the destination (meaning that it would traverse the entire path) before making another scan to determine the next destination. Next, Alex and I pair programmed the integration of the navigation path with the roomba’s built in commands. We integrated them together in one script, represented by 2 threads:
- thread to execute path commands on robot
- thread to read information to generate next map and path
Next week, I will work to integrate the SLAM portion into the new multithreaded program to get it to run fully in real-time. I am slightly worried about how long it will take to process information in real time, and whether we will be able to optimize it enough for the final demo and presentation. Because we are using BreezySLAM, there are a limited number of things we can change based off of the original API.