Artificial Intelligence
The AI team writes all the code behind the autonomous decision making abilities of the boat. Their responsibilities include researching, developing, and testing algorithms for motion planning while brainstorming efficient strategies to tackle the competition tasks and transitions between tasks. This group works the most closely with our codebase, continuously improving it each year by focusing on great code quality, efficiency, and test coverage.
The job of the AI team can be seen from an input/output perspective: the code receives input from the sensors regarding where the boat is and what it sees, and outputs a path of waypoints. Waypoints can be thought of as GPS coordinates the boat should follow to accomplish the task at hand. Waypoints are selected with the A* algorithm or specialized task-specific algorithms. After selecting the main path-defining waypoints, we apply algorithms to inject waypoints every meter and smooth the resulting path to eliminate any harsh angles.
A large part of the AI team’s work is testing their code. This includes unit testing our math-heavy functions, generating visualizations of static path planning examples, running the code in simulation frameworks, and observing the behavior of the boat during water testing.
Future goals of the AI team include improving our collision detection and avoidance techniques and incorporating more advanced path planning algorithms across all tasks.