VRC 2813B NOVAVRC 2813B NOVA

VRC 2813B NOVA

VEX V5 Robotics

A chronicle of my two-year journey with VEX Robotics Competition Team 2813B NOVA. This project details our team's evolution through two competitive seasons, highlighting the growth in mechanical design, programming sophistication, and the invaluable lessons learned from the engineering process.

2022-2024

Lead Developer & Designer

C++ (PROS, LemLib), Fusion 360

Project Overview

For two years, I was the Lead Programmer and Designer for VEX Robotics Competition (VRC) Team 2813B NOVA. This project is a reflection on that journey—a story not of trophies won, but of invaluable lessons learned. It tracks our evolution from a rookie team navigating the fundamentals to a seasoned squad engineering complex solutions. Spanning two distinct VRC seasons, "Over Under" and "High Stakes," this experience was a deep dive into the iterative cycle of design, build, test, and fail. It taught me that in engineering, true success is measured by growth, resilience, and the relentless pursuit of a better solution.


2023-2024 Season - Over Under

Our first year was a trial by fire. The game, "Over Under," involved maneuvering "Triballs" into goals and elevating our robot on a bar at the end of the match. As newcomers, our focus was on the fundamentals.

Mechanical Design & Challenges

We started with an H-drive chassis for enhanced agility, a simple roller intake to collect Triballs, and a catapult for scoring. This season was also our first encounter with pneumatics, which we used to deploy a hanging mechanism. Integrating this new system was a significant challenge, involving countless hours of troubleshooting air leaks and optimizing piston force. The design was functional, but our competition experience revealed its limitations in durability and efficiency.

Our first-season robot competing in the 2023-2024 VRC game,
Our first-season robot competing in the 2023-2024 VRC game, "Over Under".

The Programming Hurdle

My programming approach was as foundational as our robot. I wrote everything in a single main.cpp file using VEX's standard C++ environment. The autonomous routines were built on "dead-reckoning"—relying purely on timed motor movements and preset turn angles.

This method quickly proved unreliable. Minor variations in battery voltage, floor friction, or initial robot placement would cause cascading errors, leading to inconsistent performance. I implemented a basic P (Proportional) controller to help the robot drive straight and a PD controller for more stable turns. While these were significant improvements, they were merely patches on an inherently flawed system. We were treating the symptom, not the cause.

The biggest lesson from "Over Under" was clarity. We now understood the gap between a robot that could work and one that could perform reliably under pressure. This understanding became the blueprint for our second year.


2024-2025 Season - High Stakes

Armed with the lessons from our rookie season, we approached "High Stakes"—a game centered on collecting and scoring rings on mobile goals—with a completely new philosophy. Our goal was no longer just to build a robot, but to engineer a robust, maintainable, and predictable system.

A New Programming Paradigm

The most significant change was a complete overhaul of our software workflow. I migrated our codebase from the standard VEX environment to PROS (PROS for V5), a more powerful and flexible development environment.

Fine-tuning the autonomous code on the laptop during a competition.
Fine-tuning the autonomous code on the laptop during a competition.

This move unlocked three critical improvements:

  1. Object-Oriented Programming (OOP): I abandoned the monolithic main.cpp structure and re-architected the code into distinct, modular subsystems (arm.cpp, intake.cpp, chassis.cpp). This made the code cleaner, easier to debug, and allowed for parallel development.
  2. Advanced Motion Control with LemLib: To solve our autonomous inconsistency, I integrated LemLib, a high-level motion control library. This gave us access to a full PID controller and odometry, allowing the robot to track its precise X/Y position on the field. Dead-reckoning was gone; our robot could now navigate to specific coordinates with remarkable accuracy and consistency.
  3. Version Control with Git: We adopted Git to manage our codebase. This workflow was transformative for team collaboration, allowing us to track changes, manage different autonomous routines, and prevent conflicting code.

Mechanical Evolution

Our robot's design reflected this new maturity. We opted for a robust 6-motor tank drive for superior defensive capability. The intake was redesigned into a "Counter Roller" system to handle rings more efficiently, and the arm was built as a stable four-bar linkage, controlled by a fine-tuned PID loop to ensure fast and precise movements. Every mechanical decision was a direct answer to a problem we had faced the previous year.

The first iteration of our robot, staged at the field wall and ready for a match.
The first iteration of our robot, staged at the field wall and ready for a match.

Assembling the final iteration of our robot, focusing on the ring intake and arm linkage.
Assembling the final iteration of our robot, focusing on the ring intake and arm linkage.


Reflection

Although we never stood on the podium as champions, my two years with 2813B NOVA were an unparalleled success. The journey taught me more than any victory could have. It was a hands-on education in the engineering process—a constant cycle of confronting problems with creativity, rigor, and teamwork.

Technically, I evolved from writing simple scripts to designing and managing a complex software architecture. I learned that robust systems aren't built on clever hacks, but on sound principles like modularity, feedback control, and versioning.

More profoundly, I learned how to function as part of a dedicated team. I learned to find motivation in setbacks, to debug a faulty mechanism minutes before a match, and to collaborate on strategy with alliance partners I had just met. This experience was the beginning of my journey in engineering, and it has equipped me with a mindset of persistent problem-solving that I will carry into all my future projects.


Acknowledgements

A heartfelt thank you to every member of Team 2813B NOVA. Our shared passion and perseverance turned challenges into opportunities for growth. I am also deeply grateful to our mentors and coaches, whose guidance was instrumental in shaping our team and my own development as an engineer.

Harry Chang/Chi-Wei Chang 張祺煒 LogoHarry Chang/Chi-Wei Chang 張祺煒


Chi-Wei Chang 張祺煒 © CC BY-NC 4.0