Team Status Report 4/11
One major risk uncovered recently is the unreliability of the hardware connection to the Roomba. We have previously experienced issues sometimes with the serial connection port or the Roomba not responding to its provided interface commands, but those issues were resolved with a power cycle. On Friday, we experienced this issue persisting through multiple power cycles, software changes, connection configurations, and everything else we could think of. We eventually decided to try again later.
When implementing the navigation module, we did change the plan from last week’s in one area. Rather than the originally planned Djikstra’s Algorithm for routing, we used A* instead, since it is more optimized for our data type (grid, rather than nodes and edges). Also, even though it can generate nonoptimal paths sometimes, it operates much more quickly than Djikstra’s since we don’t have to process every single node, instead routing square by square as we go, using a distance heuristic to determine the next step.
Below is an example of a map that has been outputted from SLAM, compressed, processed, with a robot (red dot), destination (green dot), and projected route (yellow dots).