This is my first PCB design project. The majoriy of this board/schematics were created watching Phils Lab on youtube and using his projects as examples.
The soccer playing AI will compute target velocities for all 6 robots and send them over USB to the mainboard, which will then send the velocity data over radio. Each robot will have its own mainboard, receive the pacet over radio, unpack and send a velocity command over the CAN Bus (which is then picked up by the motor controllers)
So the main goal of the board is to act as a radio to CAN bridge if flashed as a robot, and a radio to USB bridge if flashed as a dongle and plugged into the computer running AI.
Additionally, the ball detector circuit, when plugged into a robot will be facing the "mouth" of the robot to detect any balls that enter. This helps with determining when to kick/chip the golf ball.
Here is one of our competitors, UBC Thunderbots's robot to put this board into perspective. (We don't have robots yet)
and more info about robocup can be found here