Robot design and mission strategy, explained with visuals.

Use this page while presenting: start with how the robot changed, then show how strategy shaped the runs.

NEW TEAM GUIDE
New to FLL? Start here

5 steps to understanding this robot

Brand new to the team? Read these in order. Each step links straight to the part of the page that goes deeper.

01

Look at a mission

A mission is a task on the FLL table that scores points. Each mission has a model you interact with using your robot.

Jump to Mission Strategy →
02

Decide the action type

Every mission is either push, pull, lift, or drop. The action type tells you how hard the mission is and what attachment you need.

Jump to Mission Strategy →
03

Group missions into a run

A run is a sequence of missions your robot finishes in one trip. Group missions that sit physically close together on the table.

Jump to Runs →
04

Choose or build an attachment

Attachments connect to your robot and do the actual work. Each attachment is designed for one specific action type.

Jump to Attachments →
05

Test, record, improve

Run the mission, write down what happened, fix one thing at a time, then test again. Repeat until the result is consistent.

Jump to Concept Lab →
ROBOT DESIGN
From first concept to final robot

Summer / Last Year

Initial concept from last year
Initial Concept
Skeleton build from last year
Skeleton
Final robot from last year
Final Concept

This Year

Initial concept from this year
Initial Concept
This year middle robot build
Skeleton
Final robot version from this year
Final Version

All Versions - This Year

Robot iteration 1V1
Robot iteration 2V2
Robot iteration 3V3
Robot iteration 4V4
Robot iteration 5V5
Robot iteration 6V6
Robot iteration 6.2V6.2

How the Robot Evolved

Seven builds, each fixing one specific problem we found in testing. Hover or tap a version to see what changed and why it mattered.

Selected robot version
V1 · Start
What changed
Initial frame size with basic motor placement.
Why it mattered
Gave us a working baseline to measure every later change against.
Baseline Set

Center of Gravity

Keeping weight low and centered keeps the robot from tipping.

Wheelbase

A wider base is more stable but turns a little slower.

Attachment Access

Ports must be reachable without moving the whole robot.

Iteration

Each version fixed one specific problem found in testing.

MISSION STRATEGY
How we chose missions before building runs

Our Mission Analysis

One-glance takeaway: Push is dominant, Pull is limited, so we optimize push-first and keep one reliable pull attachment.

Sorted by Action Type: Push, Push/Pull, Pull, Lift, Push/Drop, Drop

Mission 1
M1Drop
Mission 2
M2Push/Drop
Mission 3
M3Lift
Mission 4
M4Drop
Mission 5
M5Push
Mission 6
M6Push
Mission 7
M7Lift
Mission 8
M8Push
Mission 9
M9Pull
Mission 10
M10Push/Pull
Mission 11
M11Push
Mission 12
M12Push/Pull
Mission 13
M13Lift
Mission 14
M14Drop
Mission 15
M15Drop

Why action type decides difficulty

The way the robot has to move a model is the single biggest clue to how hard a mission will be.

Easiest

Push — robot drives forward, model moves

No precise positioning. The robot pushes until it meets resistance, so the result is consistent every run.

Most of our missions
Harder

Pull — robot hooks the model, drives back

Needs precise alignment first. The hook has to engage perfectly before the robot can reverse, so there is more to get right.

One reliable hook attachment
Most complex

Lift / drop — raise or place an object

Requires height control and an exact stopping point. The attachment has to reach the right level and release at the right moment.

Powered arm attachments
MISSION STRATEGY
Mission Grouping + Team Organization

Mission Grouping Board

We grouped missions into runs by similar mechanics, field location, and attachment needs.

Run A - M5 M6 M7 M8

M5M5
M6M6
M7M7
M8M8

Run B - M9 M10

M9M9
M10M10

Run C - M1 M2

M1M1
M2M2

Run D - M3 M4

M3M3
M4M4

Run E - M11 M13

M11M11
M13M13

Run G - M15

M15M15

Robot Path Strategy Board

Use the run buttons to show how each mission group moves across the field.
Run A: M5 M6 M7 M8
FLL Unearthed mission map
TEAM ORGANIZATION
How we split the work as a team

Leadership Roles

Captain

Isabella

Lead Coder

Anthony

Lead Builder

Kyle

Field-Side Teams

Red Side Team

Brian, Owen, Sam

Focused on the red-side missions and the run attachments for that side of the field.

Blue Side Team

Cailey, Jonathan, Julisa, Jasper

Focused on the blue-side missions and the run attachments for that side of the field.

Splitting the team this way helped us build, code, test, and improve multiple runs at the same time.

Run Development Process

Rough Draft

Prove the run is possible.

Build the idea

Tune + Debug

Fix alignment and reduce drift.

Make it reliable

Refine

Reach competition-level consistency.

Know the status
RUNS
Iterations that made our runs reliable

Our Best Attachment Formula

Active
Attachment
+
Active
Attachment
+
Passive
Attachment
=
Best
Multi-Mission Attachment

For some of our strongest runs, we combined two powered actions with one simple passive mechanism. The active parts gave us control, while the passive part made the attachment faster and easier to use during a match.

How attachments work: a visual guide

Five motions cover almost every attachment we build. Each diagram loops the core movement so you can see what the mechanism actually does.

Push BarPush

A bar slides forward off the robot's front. Example: the Run A ramp missions (M5–M8).

Pull HookPull

A hook drops down, engages, then the robot reverses. Example: the Run B pan mission (M9).

Lift ArmLift

A powered arm rotates up from flat to about 60°. Example: raising the Run D model (M3).

Drop ReleaseDrop

The arm holds a payload, then releases it to fall into place. Example: depositing on M1 / M14.

CombinationPush + Lift

The arm extends and rotates together for compound motion. Example: our multi-mission Run A tool.

Attachment System Upgrade: Color-Coordinated Across All Runs

Beyond improving each attachment, we color-coordinated all attachments by run so setup is faster, swaps are cleaner, and teammates can identify the correct tool instantly.

Run A: All Black Run B: Blue/Grey/Yellow Run C: Black/Yellow Run D: All Black Run E: All Blue
RUN A
All black pieces
RUN B
Blue, grey, and yellow pieces
RUN C
Black and yellow pieces
RUN D
All black pieces
RUN E
All blue pieces

Run A (M5,6,7,8)

Passive mechanism progression for cleaner trigger flow.

Final Result: Stable Cycle
Run A prototype version 1
PrototypeBase Fit
Run A improvement version
ImprovementWider Intake
Run A refinement version
RefinementAdded Support
Run A final version
Final VersionFinal Tuned

Run B (M9,10)

Tip control evolution for repeatable pan contact.

Final Result: Cleaner Release
Run B prototype version 1
PrototypeEarly Reach
Run B improvement version
ImprovementBetter Angle
Run B refinement version
RefinementLower Friction
Run B final version
Final VersionFinal Tuned

Run C (M1,2)

Pickup geometry tuned for more reliable retrieval.

Final Result: Better Alignment
Run C prototype version 1
PrototypeFirst Grip
Run C improvement version
ImprovementAdded Support
Run C refinement version
RefinementCleaner Contact
Run C final version
Final VersionFinal Tuned

Run D (M3,4)

Lift geometry evolved toward stable drop positioning.

Final Result: Locked Geometry
Run D prototype version 1
PrototypeBase Lift
Run D improvement pass
ImprovementAngle Test
Run D refinement version
RefinementAdded Support
Run D final version
Final VersionFinal Tuned

Run E (M11,13)

Underside approach refined for faster transitions.

Final Result: Faster Swap
Run E prototype version 1
PrototypeInitial Pass
Run E improvement version
ImprovementLower Friction
Run E refinement version
RefinementUnderside Guide
Run E final version
Final VersionCleaner Release
CREATE
Programming, Pybricks & PID

4. Programming & Pybricks

Brian

Block Coding Limit

Driving straight and turning accurately needed more precision.

Jonathan

Switch to Pybricks

Python gave us more control and direct access to gyro and encoder data.

Anthony

Advanced Control

Small code adjustments started showing up in real robot movement.

5. Sensors & PID Control

Jonathan

Direction + Distance

Gyro handled turns; encoders measured travel by motor rotation.

GyroEncoder
Brian

Detect Drift

Sensor feedback corrected motor power while pushing or pulling models.

Anthony

Tune PID

We tested settings, recorded data, graphed results, and chose the most consistent values.

ErrorPIDMotor
Jonathan

Smooth Starts + Stops

Acceleration and deceleration reduced slip and made each run more predictable.

Try it · The tuning we did by hand
PID Control

Tuning PID is exactly what got us to 94.2% consistency. Drag the gains and watch the heading settle smoothly, overshoot, or wobble — the same trade-offs we tested run after run.

Live
Kp — pushes back on current error1.2
Ki — cleans up leftover error0.00
Kd — damps the wobble0.6
Overshoot
Settles in
Adjust the gains to see how the heading responds.
SPIKE Prime Results (100 Runs)
Y-Axis Range
-13 to 13
Runs Plotted
100
Drive Straight Test: Yaw Stability (100 Runs)
Average Yaw Error
0.087°
Best Run
0.00°
Worst Run
1.214°
Consistency
94.2% ✓
Trapezoid Speed Profile: Acceleration + Deceleration
Start
Ramp Up
Middle
Cruise Speed
End
Ramp Down
Turn Accuracy Comparison (Average Error)
Goal
Lower error
Best Method
Tuned Gyro Turn

Key Tuning Parameters

KP_GAIN
1.2 (increase for faster response)
Base Speed
360 dps (motor degrees/sec)
Gyro Feedback
10ms loop cycle

Pybricks + PID correction achieved 94.2% consistency by continuously adjusting motor power based on gyro heading feedback.

CONCEPT LAB
Play with the ideas behind our robot

These are the same concepts that make our runs reliable — now you can drag the sliders and watch them change in real time. Press play on any widget to see a short demo, or grab a control and make it your own. Numbers update live for anyone who wants the detail.

Control · Live graph
PID Control

PID steers the robot back to its target heading by reacting to the error. Drag the three gains and watch it settle smoothly, overshoot, or wobble.

Live
Kp — pushes back on current error1.2
Ki — cleans up leftover error0.00
Kd — damps the wobble0.6
Overshoot
Settles in
Adjust the gains to see how the heading responds.
Control · Schematic
Proportional Control

The further the robot is from the line, the bigger the correction. The gain decides how hard it nudges — too hard and it shoots past.

Live TARGET LINE
Gain (Kp) — nudge strength0.50
Starting error — how far off24°
Correction = Kp × error
This move lands
Drag the gain to feel the trade-off.
Motion · Live graph
Trapezoid Speed Profile

Instead of slamming to full speed, the robot ramps up, cruises, then ramps down. Smooth ramps stop the wheels from slipping.

Live
Ramp-up — how fast it accelerates20%
Cruise speed80%
Ramp-down — how fast it stops20%
Top speed
Time at cruise
Balance quick ramps against a long steady cruise.
Mechanism · Schematic
Gear Ratio

Gears trade speed for force. A bigger wheel gear turns slower but pushes harder — a smaller one is the opposite.

Live MOTOR (20T) WHEEL
Wheel gear teeth20T
Motor speed600
Gear ratio
Wheel speed
Pushing force
Slide the teeth count to trade speed for force.
Driving · Top-down
Motor Sync & Turning

Two drive motors. When they match, the robot drives straight. A speed difference bends the path into a curve — the bigger the gap, the tighter the turn.

Live
Left motor speed60%
Right motor speed60%
Path
Turn radius
Match both motors for a straight line.
TESTING
The loop that made every run reliable
Test Record data Find problem Improve Rebuild /rewrite Test again

Test → record → find → improve → rebuild → repeat

We never changed two things at once. Every loop fixed exactly one problem, then we ran it again to prove the fix held. Doing this over and over is what turned shaky first drafts into competition-ready runs.

0%
Success rate
5 test runs
V1 → V6.2 trend
DIAGNOSTICS
How we checked robot health before runs

Common problems & fixes

The issues that cost us missions most often — and the exact fix we reach for each time.

Critical
ProblemRobot drifts off its straight path.
→ FixRecalibrate the gyro and run a motor-sync check so both wheels match.
Common
ProblemAttachment stops short of the target.
→ FixRecalibrate the start position and adjust the programmed stop distance.
Common
ProblemRobot starts crooked in the launch area.
→ FixUse physical alignment guides and a consistent start-position protocol.
Common
ProblemRuns vary because the battery is low.
→ FixCheck the battery before every run; replace it if it drops under 7400 mV.
Minor
ProblemLoose LEGO parts rattle and shift.
→ FixReinforce with Technic pins and cross-brace the vulnerable joints.
Critical
ProblemGyro reads a drift away from zero.
→ FixRun the diagnostics script and keep the robot perfectly still during boot.
Minor
ProblemA mission model shifted from its reset spot.
→ FixFollow a reset protocol that locks models to fixed reference corners.

Before testing and competition runs, diagnostics helped us catch robot problems early instead of guessing after a failed mission.

Gyro Drift

Checks if the hub is drifting while the robot is still.
Limit
Under 0.5 deg/s

Motor Sync

Runs both drive motors and compares encoder angles.
Limit
Within 15 deg

Turn Accuracy

Tests repeated 90-degree turns to confirm gyro accuracy.
Limit
Within 3 deg

Battery Voltage

Prevents inconsistent runs caused by a low battery.
Minimum
7400 mV

Status Lights

The hub light made results easy to see quickly.
Yellow: Running Green: Pass Red: Fix

Why It Helped

Diagnostics separated software tuning from hardware issues like weak motors, loose cables, or gyro drift.
Result
Faster debugging
SHARE
Coopertition: sharing designs, code, and tutorials

Community Resources

Shared Folder + Tutorials
Follow on TikTok
Check out our latest builds and quick tutorials.
Visit TikTok
Subscribe on YouTube
Deep dives into our design process and strategies.
Visit YouTube
Follow on Instagram
Behind-the-scenes content and team updates.
Instagram link coming soon
STUDENT SHARED FOLDER

Teams using the shared folder are winning across events.

Students add photos, resources, and competition updates so teams can learn from each other and celebrate the results together.

Hudson Valley Teams

Student shared folder preview
Hudson Valley

Tidal Engineers

  • Hudson Valley Championship Event: Innovation Project Winners
  • Invited to NJ
History Guardians championship winners
Hudson Valley

History Guardians

  • Hudson Valley Qualifier: 1st Place Championship Winners
  • Hudson Valley Championship Event: 1st Place Championship Winners
  • Western Edge Event in California: 1st Place Robot Performance On The Spot Challenge
FireFox winning team photo
Hudson Valley

FireFox

  • Hudson Valley Championship Event: Invited to the Brooklyn Bot Bash Event
  • Brooklyn Bot Bash Event: 1st Place Championship Winners

Manhattan Teams

Collegiate Dutchmen 6th Grade championship winners
Manhattan

Collegiate Dutchmen 6th Grade

  • NYC Qualifier: 1st Place Championship
  • NYC Championship Event: 2nd Place Innovation Project Winner
Collegiate Dutchmen 5th Grade core values award
Manhattan

Collegiate Dutchmen 5th Grade

  • NYC Qualifier: 3rd Place Core Values