Sally & Cruz · Push Back Gamma Robots
KUdos VEX-U's higher-ceiling 24" and 15" Gamma redesign for Push Back.
Overview
Sally and Cruz were my sixth set of VEX-U robots and KUdos VEX-U's intended Worlds robots for the 2025-2026 Push Back season. Sally was the blue 24" robot and Cruz was the yellow 15" robot. They shared the same core design, and their names and colors continued the season's theme based on characters from the movie Cars.
Push Back challenged teams to collect red and blue Blocks and score them into Long Goals and Center Goals. Teams could also earn points by filling Control Zones, clearing Match Loaders and Park Zones, completing autonomous objectives, and parking both robots.
Sally and Cruz were developed after Luigi and Guido reached the practical performance ceiling of their Skills-focused architecture. Luigi and Guido were proven and reliable, but their tank drivetrains, limited acceleration, height, difficult double parking, and narrow Block path restricted the strategies they could perform.
We did not believe Luigi and Guido had the capability ceiling needed to win Worlds. Sally and Cruz were therefore designed around holonomic movement, under-Goal clearance, faster acceleration, lower Block compression, integrated wings, improved parking, and more advanced autonomous strategies.
The complete fabrication, assembly, wiring, integration, programming, testing, and tuning window was only four weeks. Sally and Cruz were physically built two weeks before Worlds, leaving two weeks for full-system development.
We brought Sally, Cruz, Luigi, and Guido to St. Louis and continued working on the Gamma robots. Two days before Worlds, we determined that there was not enough time to complete the autonomous routines, resolve the remaining issues, and sufficiently tune and validate both robots.
Sally and Cruz had a higher ceiling, but Luigi and Guido were already operating close to theirs. We returned to Luigi and Guido's proven Beta+ configuration for the competition.
My Role
Team Captain · Lead Designer & Fabricator. I led the overall strategy, mechanical design, CAD, manufacturing, assembly, integration, testing, and autonomous development of Sally and Cruz.
My contributions included:
- Reviewed the Illini, Gear Slingers, and CBU post-mortems
- Converted recurring competition problems into Gamma design requirements
- Led the Gamma strategy and architecture selection
- Defined the robots' needs, wants, nice-to-haves, and weight targets
- Selected a shared clone architecture for the 24" and 15" robots
- Created and maintained the Gamma master sketches in Onshape
- Developed the Block CAD and complete subsystem packaging
- Modeled the drivetrain, strafe pod, intake, indexer, outtake, wing, Multi-Tool, Goal aligners, odometry pods, electronics mounts, and pneumatics
- Designed the 12-motor H-drive with 10 forward/back motors and 2 dedicated strafe motors
- Designed custom parts for CNC routing, laser cutting, and 3D printing
- Created manufacturing sheets, buy lists, inventory lists, and assembly plans
- Manufactured CNC-routed aluminum and polycarbonate components
- Led the mechanical assembly and integration of both robots
- Wired the drivetrain, mechanisms, sensors, and custom electronics
- Labeled motors and wires for faster service and troubleshooting
- Plumbed and integrated the pneumatic mechanisms
- Integrated the Pinpoint, Raspberry Pi, custom encoders, odometry pods, and supporting electronics
- Tested and redesigned the rocker strafe pod
- Identified and corrected subsystem interferences during assembly
- Personally programmed Skills and match autonomous routines
- Developed autonomous routes, scoring sequences, and field paths
- Worked on H-drive autonomous movement and localization tuning
- Brought all four robots to St. Louis and continued Gamma development before Worlds
- Helped determine that the remaining schedule was not enough to responsibly use Sally and Cruz in competition
Outcome
Sally and Cruz were fully designed, manufactured, assembled, wired, plumbed, and mechanically completed.
The completed Gamma architecture included:
- 12-motor H-drive
- Under-Long-Goal driving
- Faster acceleration than Luigi and Guido
- Front-to-back Block flow
- Two-wide indexing
- Color sorting
- Intake-based lower Center Goal scoring
- Integrated wing
- Rotating Match Loader Multi-Tool
- Linear spring-loaded odometry pods
- Custom Pinpoint and Raspberry Pi electronics
- Shared clone design across the 24" and 15" robots
Every major mechanical system functioned to some extent, but the project schedule did not provide enough time to fully integrate and tune the robots.
Sally and Cruz demonstrated a much higher capability ceiling than Luigi and Guido, but we could not consistently access those capabilities before Worlds. Choosing Luigi and Guido did not reject the Gamma architecture. It recognized that a higher-potential robot still requires enough development time to become a dependable competition system.
With additional time, we could have finished the autonomous routines, refined the H-drive and mechanisms, completed driver practice, and continued raising Sally and Cruz toward the performance level they were designed to reach.
Problem & Goal
Luigi and Guido could still perform well, but continued iteration could not remove the fundamental restrictions created by their architecture.
The major limitations included:
- Tank drive restricted lateral movement and field positioning
- Limited acceleration made the robots easier to defend and pin
- The robots could not drive underneath the Long Goal
- Double parking was difficult and sensitive to the approach
- Block compression caused recurring indexer and outtake jams
- Wings were added after the original architecture was complete
- Several systems were optimized around Robot Skills rather than Worlds match play
The goal of Sally and Cruz was to create a pair of robots with a substantially higher competitive ceiling rather than only correcting individual reliability problems.
The Gamma robots needed to:
- Move holonomically
- Accelerate faster during match play
- Drive beneath the Long Goal
- Use a wider, lower-compression Block path
- Carry at least 7 Blocks, with a target capacity of 10
- Sort Blocks by color
- Score into all required Goals
- Complete faster autonomous scoring cycles
- Use a robust wing designed into the original architecture
- Double park more reliably
- Drive through the Park Zone to collect Blocks
- Complete the Autonomous Win Point
- Retain the team's custom localization architecture
- Use the same core design for the 24" and 15" robots
- Remain under approximately 20 lbs, with a preferred target below 15 lbs
Design Requirements
- Fit within the VEX-U 24" and 15" robot size limits
- Use the same core mechanical design for Sally and Cruz
- Use 10 motors for forward/back movement and 2 motors for strafing
- Move laterally without rotating
- Accelerate faster than Luigi and Guido
- Drive underneath the Long Goal
- Use a front-to-back Block path
- Carry at least 7 Blocks, with a target capacity of 10
- Reduce Block compression and jamming
- Sort Blocks by color
- Score into the Long and Center Goals
- Reverse the intake to score into the lower Center Goal
- Use a robust wing designed into the original architecture
- Support wing hovering and descoring
- Use a repeatable Match Loader interaction mechanism
- Drive through the Park Zone and double park
- Complete the Autonomous Win Point
- Retain Pinpoint localization and Raspberry Pi communication
- Use linear, spring-loaded odometry pods
- Include provisions for pneumatic odometry-pod lifting
- Remain repairable and accessible
- Remain under approximately 20 lbs
- Target a robot weight below 15 lbs when possible
Process
- 1Reviewed the Illini, Gear Slingers, and CBU tournament post-mortems
- 2Identified maneuverability, acceleration, Block compression, wings, parking, and under-Goal clearance as redesign priorities
- 3Defined the Gamma needs, wants, nice-to-haves, and Worlds strategy
- 4Compared tank, H-drive, X-drive, and swerve drivetrain concepts
- 5Selected an H-drive for lateral movement with relatively simple mechanical construction
- 6Selected a clone architecture for the 24" and 15" robots
- 7Created shared master sketches and Block CAD in Onshape
- 8Packaged the drivetrain, intake, indexer, outtake, Multi-Tool, wing, electronics, and pneumatics
- 9Designed the 10-motor forward/back drivetrain and 2-motor rocker strafe pod
- 10Designed the front-to-back Block path and two-wide indexer
- 11Designed the indexer funnel for lower Center Goal scoring
- 12Selected a simple pivoting outtake instead of a four-bar
- 13Developed the wing's stowed, hover, and descore states
- 14Designed the rotating polycarbonate Match Loader Multi-Tool
- 15Designed linear, spring-loaded odometry pods
- 16Completed manufacturing sheets, inventory lists, buy lists, and assembly plans
- 17CNC routed and manufactured the custom structural components
- 18Built the drivetrains, indexers, scoring systems, wings, and Multi-Tools
- 19Tested the first rocker strafe pod and found that it did not deploy correctly
- 20Redesigned its gear direction and idler layout
- 21Reduced the strafe gearing from the intended 480 rpm to 160 rpm for additional torque
- 22Verified that the revised pod could deploy and move the robot laterally
- 23Wired and labeled the drivetrain, mechanisms, sensors, and custom electronics
- 24Plumbed the pneumatic mechanisms
- 25Integrated the Pinpoint, Raspberry Pi, custom encoders, and odometry pods
- 26Mechanically completed Sally and Cruz two weeks before Worlds
- 27Tested the H-drive, intake, indexer, outtake, wings, Multi-Tool, and scoring paths
- 28Began programming Skills and match autonomous routines
- 29Worked through drivetrain, localization, mechanism, and autonomous integration issues
- 30Brought Sally, Cruz, Luigi, and Guido to St. Louis
- 31Continued debugging, autonomous development, driver practice, and tuning
- 32Determined two days before Worlds that Sally and Cruz needed more development time
- 33Returned to Luigi and Guido for the 2026 VEX Robotics World Championship
Challenges
- Converted three tournament post-mortems into a new robot architecture
- Designed clone 24" and 15" robots around the same core systems
- Packaged a 12-motor H-drive into an under-Goal frame
- Increased acceleration while using a lower forward/back wheel speed
- Reduced the strafe axis from 480 rpm to 160 rpm to gain enough torque
- Reworked the strafe pod after the first gear arrangement failed
- Packaged a two-wide indexer into a narrow frame
- Reduced Block compression while maintaining scoring control
- Integrated color sorting and a lower Goal funnel into the indexer
- Used the reversed intake for lower Center Goal scoring
- Designed a passive rotating Match Loader Multi-Tool
- Designed linear, spring-loaded odometry pods
- Planned pneumatic odometry lifting that was not completed
- Integrated the Luigi and Guido custom electronics stack without a Limelight
- Manufactured two highly custom robots within four weeks
- Completed the physical builds two weeks before Worlds
- Balanced mechanical debugging, autonomous programming, H-drive tuning, and driver practice during the same two-week period
- Brought all four robots to St. Louis to preserve the Gamma project and the proven backup plan
- Decided two days before Worlds to return to Luigi and Guido
Strategy-Driven Redesign
Sally and Cruz were designed around Worlds match play rather than early-season Skills qualification.
The primary strategic changes were:
- Holonomic movement
- Driving beneath the Long Goal
- Faster drivetrain acceleration
- Front-to-back Block flow
- A wider Block path with less compression
- Color sorting
- Integrated wings
- Improved double parking
- Faster autonomous cycles
- Greater control around the Center Goals
The opposite-side intake and outtake layout allowed the robots to collect Blocks from a Match Loader and drive directly toward a Long Goal without turning around.
Holonomic movement allowed the robots to make lateral adjustments while maintaining their orientation. This supported Goal alignment, defensive movement, under-Goal driving, and the use of a single wing instead of requiring matching mechanisms on both sides.
Robot Subsystems
Sally and Cruz shared the same core subsystem architecture. The frame dimensions changed between the 24" and 15" versions, but the drivetrain concept, Block path, scoring systems, wings, electronics, and autonomous strategy remained the same.
12-Motor H-Drive
Each robot used 12 drivetrain motors:
- 10 motors for forward and backward movement
- 2 motors for lateral strafing
The 10-motor forward/back drivetrain used a slightly lower wheel speed than Luigi and Guido, but the additional motors produced faster acceleration. This was more valuable during match play than a higher theoretical top speed because the robots could change direction and reach useful speeds sooner.
The strafe axis was initially designed to be speed-matched to the approximately 480 rpm forward/back drivetrain. Testing showed that the rocker pod did not have enough torque at that ratio, so the strafe axis was reduced to approximately 160 rpm.
The H-drive allowed the robots to:
- Move laterally without rotating
- Align with Goals and Match Loaders
- Reposition beneath the Long Goal
- Escape defensive pressure
- Adjust wing position through strafing
- Support more complex autonomous paths
The drivetrain packaged its motors around short 0.875" shafts. Thin outer bearing plates supported the shafts while also serving as finished exterior plates.
Rocker Strafe Pod
The strafe wheels were mounted in a rocker pod that remained above the field while inactive and deployed when the strafe motors applied torque.
The first version did not deploy consistently. Its gear arrangement produced an ineffective reaction force, and manually pushing the wheels into the floor caused them to damage the tiles instead of moving the robot.
I added another idler stage to reverse the wheel direction relative to the motors. This changed the torque reaction acting on the rocker and caused the pod to rotate downward into the field.
The intended 480 rpm ratio still did not provide enough torque, so the strafe output was reduced to approximately 160 rpm. The slower output improved deployment force and made lateral movement possible, although the system still needed additional tuning.
Lightweight Frame & Packaging
The robots needed to remain short enough to drive underneath the Long Goal while packaging 12 drivetrain motors, a two-wide Block path, pneumatic mechanisms, electronics, and odometry hardware.
Weight-saving decisions included:
- Pocketed aluminum plates
- Thin sheet material where appropriate
- Polycarbonate structural and mechanism components
- 3D-printed mounts, funnels, spacers, and housings
- Shared structural plates between subsystems
- Compact motor and electronics packaging
- Short drivetrain shafts
- Custom bearing supports
The low frame opened movement and strategy options that were unavailable to Luigi and Guido, but it also made subsystem packaging and service access more difficult.
Front-to-Back Intake
The intake collected Blocks from the floor and fed them into the two-wide indexer.
Its geometry supported:
- Match Loader collection
- Park Zone Block collection
- Center rush strategies
- Front-to-back Block flow
- One-time deployment from the starting configuration
Placing the intake opposite the outtake allowed the robots to collect Match Loaded Blocks and drive directly toward a Long Goal without turning around.
The intake was also used for lower Center Goal scoring. Reversing it pushed Blocks back out through the front of the robot and into the Goal.
Two-Wide Indexer, Color Sorting & Lower Goal Funnel
The two-wide indexer was designed to reduce Block compression while maintaining useful capacity and throughput.
Its goals included:
- Carrying at least 7 Blocks
- Targeting a capacity of up to 10 Blocks
- Reducing jamming
- Moving multiple Blocks through a wider path
- Sorting Blocks by color
- Supporting faster autonomous cycles
An optical sensor identified Block color before scoring so an unwanted Block could be rejected rather than scored.
The lower Center Goal funnel was built into the indexer. When the intake reversed for lower Goal scoring, the funnel narrowed the two-wide Block path into a single-file outlet before the Blocks reached the intake. This allowed the intake to eject them cleanly into the lower Center Goal.
The indexer, sorting path, and funnel were mechanically functional but needed more software integration and Block testing.
Pivoting Outtake
The outtake scored into the Long Goal and top Center Goal.
A simple pivot was selected instead of a four-bar because it:
- Reduced mechanical complexity
- Maintained more consistent Block compression
- Used fewer moving components
- Packaged more easily beneath the Long Goal
- Opened an additional scoring path when raised
The outtake used pneumatic flap states to control Block retention and scoring behavior.
Lower Center Goal scoring did not use the outtake. That action was completed by reversing the intake through the funnel built into the indexer.
Wing
The Gamma wing was included in the original robot architecture rather than added later.
It used separate pneumatic actions for lifting and actuating the mechanism, creating three primary states:
- Stowed
- Hover
- Descore
The stowed position remained below the Long Goal clearance limit. The hover state extended the wing over a scoring area, while the descore state repositioned it to remove Blocks.
Planning the wing from the beginning improved its mounting, packaging, deployment geometry, and structural support compared with adding the system after the robot was already complete.
The mechanism functioned, but its final durability, control, and strategic use still required more testing and driver practice.
Match Loader Multi-Tool
The new Multi-Tool was one of the more successful Gamma mechanisms.
It used a polycarbonate plate that rotated freely on a shaft. A V-shaped cutout at the front guided the mechanism into the Match Loader.
The plate entered the Loader in a horizontal orientation. As it moved farther inside, contact with the Loader caused it to rotate into an angled position. This transformed the plate into a ramp that allowed the Match Loaded Blocks to fall directly toward the intake.
The passive rotation reduced the number of powered actions required and let the same piece adapt to the Match Loader geometry. Compared with the Luigi and Guido Multi-Tool, the new design interacted with the Loader more cleanly and worked well during testing.
Linear Odometry Pods
The Gamma odometry pods moved vertically instead of rotating around a pivot.
Each pod:
- Slid linearly on rounded shafts
- Used bushings to guide the vertical movement
- Was spring-loaded downward against the field
- Used a custom magnetic encoder
- Provided tracking data to the goBILDA Pinpoint
- Packaged around the H-drive and low frame
The linear design reduced the swept volume required by a pivoting pod and maintained a direct vertical force into the field.
The pods were intended to be lifted pneumatically before parking, but that feature was not implemented. They remained spring-loaded downward in the completed robots.
Pneumatic System
The pneumatic layout controlled:
- Wing lift
- Wing actuation
- Indexer lower Goal funnel
- Outtake lift
- Outtake flap states
- Multi-Tool positioning
The design also reserved a function for lifting the odometry pods, but the pneumatic lifting mechanism was not implemented.
Custom Electronics & Localization
Sally and Cruz used the same core custom electronics stack developed for Luigi and Guido, except they did not use a Limelight.
The system included:
- goBILDA Pinpoint odometry computer
- Custom magnetic quadrature encoders
- Linear spring-loaded tracking-wheel pods
- Raspberry Pi communication coprocessor
- KUdos Raspberry Pi Expansion Hat
- Optical sensors for Block detection and color sorting
- Wireless hotspot for remote access
- Communication between custom devices and the V5 Brain
The Pinpoint calculated robot position and heading using its integrated IMU and the custom tracking-wheel encoders.
The Raspberry Pi acted as the communication bridge between the Pinpoint, other custom sensors, and the V5 Brain. No camera-based Limelight alignment or perception was used on Sally and Cruz.
Reliable localization was especially important for the H-drive because autonomous control needed to coordinate forward motion, lateral motion, and rotation.
I contributed system-level requirements, mechanical packaging, wiring, sensor mounting, and robot integration. I then used the completed localization and control foundation while programming the Skills and match autonomous routines.
Autonomous Development
I personally began programming Skills and match autonomous routines for Sally and Cruz.
The autonomous strategy included:
- Maximum-score Skills route planning
- Long Goal rush routines
- Center Goal rush routines
- Autonomous Win Point routines
- Color-sorted scoring
- Park Zone Block collection
- Double parking
- Wing hovering and descoring
- A combined top and bottom Center Goal descore concept
- Pinpoint-based forward, lateral, and rotational movement
The H-drive required a different motion approach than the tank-drive Luigi and Guido robots. The autonomous system needed to control three movement axes while maintaining reliable field position.
The physical robots were complete for only the final two weeks before Worlds. During that time, we still needed to:
- Finish the Skills route
- Complete the match autonomous routines
- Tune forward, lateral, and rotational movement
- Resolve drivetrain jitter
- Integrate every mechanism state
- Test color sorting
- Tune double parking
- Complete repeatability testing
- Practice recovery from failed actions
These were solvable development tasks, but the remaining schedule was not long enough to complete and validate them.
Worlds Readiness Decision
Sally and Cruz were physically completed two weeks before the 2026 VEX Robotics World Championship.
Their four-week development window had to include fabrication, assembly, wiring, plumbing, integration, programming, testing, tuning, and driver practice. Completing the builds halfway through that period left only two weeks for full-system development.
We brought Sally and Cruz to St. Louis alongside Luigi and Guido and continued working on them. Two days before Worlds, we determined that the robots had not received enough debugging, autonomous development, tuning, and repeatability testing.
Sally and Cruz had a substantially higher competitive ceiling than Luigi and Guido. Their architecture could support the movement and match strategies we believed were needed to contend for a World Championship.
Luigi and Guido were more limited, but they had already completed three competitions and were performing close to their ceiling. Their autonomous routines, controls, maintenance procedures, replacement parts, and failure modes were understood.
The decision was based on the remaining time and competition risk. With a longer development period, we could have continued working through the Gamma robots' issues and developing them toward their higher ceiling. For Worlds, we chose the proven robots that were ready.
What I Learned
- How to convert tournament post-mortems into measurable design requirements
- How to recognize when an existing robot architecture has reached its practical ceiling
- How to design a higher-potential robot around Worlds match-play requirements
- How clone architectures reduce repeated design work while increasing manufacturing workload
- How additional drive motors can improve acceleration even with a lower wheel speed
- How speed matching does not guarantee that a mechanism has enough torque
- How gear direction and torque reaction affect a rocker strafe pod
- How to package a two-wide indexer into a compact under-Goal robot
- How to use an indexer funnel and reversed intake for lower Goal scoring
- How a passive rotating mechanism can adapt to Match Loader geometry
- How linear odometry pods differ from pivoting pod designs
- How mechanical provisions may remain incomplete when the schedule is compressed
- How to reuse a custom electronics architecture without every previous sensor
- How holonomic movement increases both strategic capability and software complexity
- How to personally develop autonomous routines using an existing localization foundation
- How a four-week schedule can complete physical robots without making them competition-ready
- How mechanical completion differs from full-system readiness
- How insufficient integration and tuning time can prevent a robot from reaching its design ceiling
- How to choose between a proven robot near its ceiling and a higher-potential robot far below its ceiling
- How maintaining a proven backup can protect an entire competition season