Cal Baptist Long Knights VEXU
Collegiate VEX U robotics, competing at the same events as the VEX World Championship. I lead the Electronics Division — sensing, localization, and the communication backbone that lets every subsystem act on one shared picture of the field.
VEX
Override
UpcomingSeason kicks off Fall 2026. Game breakdown and system write-ups will land here as they're built.
VEX
Push Back
Current seasonPush Back is played on a 12′ field where alliances score blocks into goals and contest a center zone. The autonomous period rewards precise positioning — a robot that knows exactly where it is can score before the opposing alliance has finished its first movement.
High-Speed RS-485 Sensor Bus
Every subsystem — drivetrain, intake, lift, and the sensor pods — needed to act on the same picture of the field at the same instant. Standard serial couldn’t carry that many nodes at the rate we needed without collisions and stale reads.
I built a multi-drop RS-485 network running at 5 Mbps, carrying roughly 6000 packets per second across a dozen addressable ESP32 data-acquisition nodes. Each node is time-synced, so the main controller reads a coherent snapshot rather than a smear of values from different moments.
AprilTag Field Localization
Wheel odometry drifts — especially after contact with another robot. To correct it, I put AprilTags at known field positions and ran a vision pipeline on a Raspberry Pi that recovers the robot’s absolute pose whenever a tag is in frame.
The pose estimate feeds the same fusion filter as the encoders, so a single tag sighting silently snaps the robot’s belief back to truth without interrupting whatever routine is running.
Behavior-Tree Match Logic
Autonomous routines written as long scripts break the moment reality diverges — a missed grab, a blocked path. I moved the match logic to behavior trees so the robot can re-evaluate and fall back instead of running blind to the end of a sequence.
Each subtree owns one objective and reports success or failure upward, which made it possible to test individual behaviors in isolation rather than replaying a whole match.
VEX
High Stakes
ArchivedHigh Stakes centered on scoring rings onto mobile goals and climbing at the end of the match. Our season ended at the World Championship, and the robot took the Build Award.
Kalman-Filtered Localization
No single sensor was trustworthy on its own — encoders slipped, the IMU drifted, optical flow failed on certain surfaces. I fused dead-wheel odometry, optical flow, a 6-axis IMU, and vision into one Kalman filter that weights each source by how much it deserves to be believed.
The result was a position estimate that stayed usable through contact and defense, which is what let the autonomous routines stay aggressive instead of conservative.
Game-Object Tracking
The robot needed to find rings on a cluttered field without a human in the loop. I built a vision pipeline on a Raspberry Pi that segments game objects by color and geometry, then reports their field position to the planner.
Getting it reliable meant handling the venue lighting problem — arena lights vary wildly between events, so the pipeline calibrates against a reference at the start of each competition.