Both of our robots are built on a shared design. Each robot features four motors, providing power, speed, and precise control for 360-degree movement. To enable this full-range motion, custom-designed omnidirectional wheels were made and implemented.
Three materials were used for the majority of the robot's design; aluminium-6061, 3D-printed PLA, and 3D-printed ABS. The core structural plates for the robot were contructed from 3mm thick aluminium, offering excellent strength, durability, and ductility, ensuring the robot's structure remains intact after many collisions. The majority of other designed components were made using 3D-printed PLA, due to ease of printing, decent strength and heat-resistant properties, and accessibility. 3D-printed ABS was used to construct the wheels. Due to their close proximity and connection to the motors, the wheels require high heat resistance and greater durability compared to other printed components. Although ABS is more difficult to acquire and print, its superior performance in these areas makes it the preferred material for this part. Metal standoffs of various lengths were used for stability and modularity.
At the top of the robot, an acrylic tube and angled mirror system forms the basis of the robot’s vision system. The acrylic tube provides a lightweight, transparent, unobstructive housing for the camera’s vertical viewing path, while also protecting internal components from external impact. Above the tube, a layer of reflective foil acts as a mirror, redirecting the camera’s line of sight outward across the field.
Our robots are powered by a 12.6V 1300mAh battery connected via an XT-60 connector to the integrated main board. For motor control, we use VNH7070 motor drivers, which also operate at 12.6V. These drivers connect to the motors using JST connectors and are controlled by the Teensy microcontroller using PWM (Pulse Width Modulation) along with Enable A and B signals. This setup allows for fast, controlled, and precise movement of the robot.
At the heart of our control system is the Teensy 4.1 microcontroller. We selected this board for its compact size, powerful 600MHz ARM Cortex-M7 processor, and expanded flash memory—four times larger than the Teensy 4.0 used by previous teams. This additional processing power is essential for handling real-time sensor data and decision-making on the field.
For ball detection and tracking, we use 16 TSSP58038 infrared sensors arranged in a circular layout to achieve full 360-degree coverage. These sensors are powered by a 3.3V rail and include resistors to protect the fragile components. Their output signals are wired directly to the digital input pins on the Teensy.
To detect goals and orient the robot accurately, we incorporate an OpenMV H7 Plus R4 vision module and a BNO055 absolute orientation sensor. Both devices are powered by 3.3V and communicate with the Teensy via a UART (RX/TX) serial connection. The OpenMV handles goal recognition, while the BNO055 provides reliable heading information for accurate navigation and turning.
We use a separate PCB for our line detection. This PCB is powered with 3.3V transferred through an FFC Connector from the main board. This PCB contains 32 Red LEDs and 32 Photo transistors. Each LED and Photo transistor is accompanied by resistors and 0.1uf caps to smooth out signals and to prevent breaking the fragile components. The signals are transferred to two 16-bit Multiplexers (MUX) one for the right side of the board and one for the left. These Multiplexers are used for easy reading of many sensors. The outputs from the Multiplexers are transferred through the FFC to the main board, then transferred to the Teensy.