My VEX robotics project took place during my senior year of high school. The goal was to design and build a robot capable of competing in the 2023-2024 high school VEX Robotics competition. This project was completed in a group of two, with me and one other person, both of whom equally contributed to all aspects of the robot’s design. The robot had to adhere to specific guidelines: it had to fit within a particular size limit, be capable of performing all required tasks in the competition, and be built entirely with VEX Robotics parts, except for a few minor exceptions. While the project was part of an international competition, my partner and I approached it primarily for learning and enjoyment, as our team was smaller than usual (most teams had five or more members). Despite not aiming to win, we still put in our best effort to perform well.
The game is played in a 2v2 format, where two randomly selected teams compete against two other random teams. The match is divided into two main sections: the autonomous section and the manual section. During the first few seconds of the game, robots follow a pre-programmed code to achieve specific objectives. Our team decided to focus on the manual section, where our robot’s primary task was to push a ball under the net. In the main phase of the game, each team typically has one member pushing balls under the net while the other defends or launches/pushes balls onto the opposing side, where they are then pushed under the net. The net’s crossbar is slightly lower than the balls' height but is flexible, so balls must be pushed under. When the robot reaches the corner of the arena (where the colored pipes are), balls can be loaded into the launcher and shot into the arena one at a time. The rulebook is quite detailed, and while there are many other rules, I won’t cover them all here. After the autonomous section ends, the manual section begins, where the goal is to maximize the number of balls under your net while minimizing the number under your opponent’s net. This section lasts for about a minute before the game ends. The final phase of the game is the climbing section. At the conclusion of the match, points are awarded based on how high your robot has climbed, with more points awarded for greater height. The height is measured from the lowest part of the robot to the ground, and touching the side walls is prohibited.
This is a video of a match we participated in. Our robot, labeled "87265C" (our team number), starts in the top right section of the field. In this game, we took on the task of pushing, as our teammate had a more efficient launcher and was unable to block. At the beginning of the match, you can see our robot push one of the "balls" under the net as part of our autonomous code. After completing this task, the robot waits for the manual section to begin. Once the manual phase starts, we alternate between two main tasks: pushing balls under the net and blocking the enemy’s attempts to launch balls to the opposite side. As the game nears its conclusion, our goal shifts to climbing the crossbar, which we manage to do successfully. We prioritized climbing early in the match, as we’ve experienced issues with climbing in the past, and if another robot climbs before us, we lose the opportunity to climb. Overall, the match went smoothly without any major issues, and I believe we won.
The goal of our design was to achieve several key objectives. First, it needed to launch balls with acceptable speed and accuracy. It also had to be able to drive over the ground pipes, which would make navigating the arena more efficient. Additionally, the robot needed to effectively push balls, and handle multiple at once. Lastly, it had to be capable of climbing, although this design feature came later in the process.
For the drivetrain, we used a 4WD system, with each of the four main wheels powered by a dedicated motor. The wheels were connected to soft wheels in the middle, which allowed the robot to drive over the pipes without getting stuck. We also added ramps at the front to further assist with this.
For the launcher, we implemented a puncher system. Although I didn’t build the puncher, I can’t provide a detailed explanation of how it works.
The climbing mechanism, however, required a major redesign. After brainstorming, we decided on the mechanism seen in the video, which ultimately provided us with the highest climb in the competition (only one other robot climbed higher). The final design placed the puncher on top of the climbing mechanism, directly above the crossbar. This change served three key purposes: First, it enabled us to climb. Second, we could raise the climbing mechanism to block shots from enemy robots, keeping more balls on our side. Lastly, if we were blocked while shooting, we could simply raise the climbing mechanism above the blocker, making it difficult for them to prevent our shots.
Overall, this project was an incredibly enjoyable experience. I gained valuable insights into VEX robotics, robotics in general, and the competitive environment. As one of my first major projects, I learned a great deal about time management, problem-solving, handling unexpected challenges, and the importance of thorough documentation. Our robot performed well, consistently achieving above-average results, which was impressive given our small team size and casual approach to the competition. We also had a unique design, with no other team using a similar build. Our climbing mechanism, in particular, drew a lot of attention, with many comments during and after competitions. While there were areas for improvement, I’m proud of the progress we made.
Here is the design notebook for this project (Incomplete, final version not available):
Here is the rule book / manual for the VEX game:
Here are some photos of the robot, at various points in the development process.