> ROBOT.CURRENT

OUR ROBOTS

Designed. Built. Programmed. Improved.

IMAGE PENDING: current competition robot

> ROBOT.OVERVIEW

CURRENT COMPETITION ROBOT

Meet Hydrofluoric's newest competition robot.

Our team continuously develops and improves its robot throughout the FTC season through prototyping, testing, programming, and competition experience.

> ROBOT.SUBSYSTEMS

SYSTEM BREAKDOWN

MECHANICAL_SYSTEMS();

Mechanical Systems

Details for this season's robot will be added here as development progresses.

PROGRAMMING();

Programming

Details for this season's robot will be added here as development progresses.

AUTONOMOUS();

Autonomous

Details for this season's robot will be added here as development progresses.

DRIVER_CONTROLS();

Driver Controls

Details for this season's robot will be added here as development progresses.

DESIGN_EVOLUTION();

Design Evolution

Details for this season's robot will be added here as development progresses.

ENGINEERING_MATH();

Engineering Math

Details for this season's robot will be added here as development progresses.

> ROBOT.ARCHIVE

OUR PAST ROBOT

2025–2026 • FIRST Tech Challenge DECODE

Robot intake assembly close-up

> KEY_SYSTEMS

  • ROTATING_HOODED_SHOOTER
  • INTAKE_SYSTEM
  • BALL_PROCESSING
  • ODOMETRY
  • AUTO_AIM

The robot used a rotating hooded shooter, intake system, ball-processing mechanism, odometry, autonomous navigation, and automatic aiming.


> MECH.SHOOTER

HOODED SHOOTER

Turret and flywheel mechanism

The robot's hooded shooter used a rotating turret.

A servo rotated the turret mechanism.

Another servo controlled a gate that prevented game pieces from entering the flywheels prematurely.

Two motors powered the flywheels through a chain-drive system.

Once released into the shooter, the game pieces were accelerated by the flywheels and launched toward the scoring target.

> ENGINEERING.ITERATION

ENGINEERING IS ITERATION

After the team's first competition, they determined that their original spindexer design was too slow and insufficiently accurate. Rather than immediately abandoning it, part of the team developed and tested a new hooded-shooter concept. Once testing showed that the new system was viable, the team transitioned to the new design.

ORIGINAL SPINDEXER

→

TESTING & PROTOTYPING

→

HOODED SHOOTER

The hooded shooter was considered more efficient for scoring, mechanically simpler, less likely to fail, and better suited to the team's strategy. The previous mechanism and code were retained as a backup and as potential resources for future seasons.

> PROGRAMMING();

PROGRAMMING

The team programmed advanced control systems including odometry, automatic turret aiming, driver override controls, autonomous navigation, button edge detection, and multiple autonomous routines. The team used Pedro Pathing with odometry for accurate autonomous motion. The robot had separate autonomous routines depending on field position and alliance.

turretAngle = atan2(dy, dx);

if (edgeDetected) { toggleGate(); }


> CONTROLS.MAP

DRIVER CONTROLS

IMAGE PENDING: labeled driver controller diagram

Controls included functions for driving, strafing, turning, intake, turret movement, automatic aiming, gate control, shooter power, and slow mode.

  • Driving, strafing and turning
  • Intake
  • Turret movement
  • Automatic aiming
  • Gate control
  • Shooter power
  • Slow mode

> AUTO_AIM();

AUTO AIM

The robot used odometry to estimate its position on the playing field. Using that position, the programming calculated the angle between the robot and scoring target. The turret could then automatically rotate toward the target. This allowed the robot to shoot from multiple locations rather than relying on one fixed shooting position.

> ODOMETRY();

ODOMETRY

Odometry tracking pods provided the robot with information about its movement and location on the field. The team used this positioning data for autonomous driving and automatic aiming calculations.

> DRIVER_OVERRIDE();

DRIVER OVERRIDE

Because odometry can become misaligned during a match, the second driver could manually adjust the auto-aim offset. The system could also be switched to manual turret control. This provided redundancy if automatic positioning became inaccurate.

> ENGINEERING.MATH

THE MATH BEHIND THE ROBOT

IMAGE PENDING: turret aiming geometry diagram

The turret's aim was calculated using simple geometry: the robot's estimated field position (from odometry) and the target's known position give a horizontal and vertical distance, and that distance pair is converted into an angle the turret rotates to. The team also used probability and scoring calculations when evaluating different shooter and indexing designs.

  • VIEW THE ENGINEERING

    Turret angle was derived from the angle between the robot's estimated (x, y) position and the target's fixed (x, y) position on the field, using standard trigonometric angle calculation — the same approach used in targeting and navigation systems across robotics.