Code + build focus
- Pick one programming track (ask your coach: Blocks, OnBot Java, or Android Studio)—don’t learn two stacks at once.
- Pick one mechanism family for this year’s game (e.g. drivetrain vs intake). Tap boxes → links. Bottom: mini glossary.
Programming & robots (gist of the linked pages)
- Programming
- OpModes — modes the robot can run
- Autonomous — timed steps (drive, sensor, stop)
- Tele-op — gamepad → motors
- Blocks — visual (fastest start)
- OnBot Java — Java in browser on robot
- Android Studio — full project on laptop (more setup)
- All use the same SDK + hardware
- Mechanisms
- Drivetrain — moves whole bot (tank, mecanum, …)
- Intake — pulls pieces in (rollers, flaps, …)
- Transfer / outtake — toward goals or next stage
- Arms & slides — reach & height
- Gear ratio — speed vs strength (gears, belts, motors)
Pick your programming track
Blocks — fastest way to “make the robot move”
- Drag-and-drop in the browser
- Good for: control system, loops, if/else
- Try: tutorial until you can explain OpMode in one sentence
- Blocks tutorial →
OnBot Java — Java in the browser
- Java text without installing Android Studio first
- Good when the team uses the on-robot editor
- Try: “getting started” + sample OpMode with a mentor
- OnBot Java tutorial →
Android Studio — full IDE (often for advanced teams)
- Full Java + SDK on your computer
- More setup; strong for big teams & custom code
- Try: install/setup with a mentor—not alone on night one
- Android Studio tutorial →
Programming hub (all options)
Pick one mechanism family (this season)
- Check this year’s scoring: drive vs grab vs lift vs shoot?
- Pick one family below; GM0 has diagrams & tradeoffs.
Drivetrain — how the robot drives
- Tank, mecanum, …
- Best when: tight field or driving is the bottleneck
- GM0 — Drivetrains →
Intake — pulling game pieces in
- Rollers, flaps, pinchers
- Field → inside the robot, reliably
- GM0 — Active intake →
Outtake / scorer / transfer
- Inside robot → goals, baskets, right height
- Often pairs with lifts / slides
- GM0 — Transfers →
Arms, lifts, linear motion
- Four-bars, slides, rigging
- Best when: scoring needs height or reach
- GM0 — Arms → · Linear motion →
Mechanism overview (browse all)
Mecanum drivetrains
Mecanum wheels let your robot strafe sideways — a huge advantage in FTC where field positioning matters.
How mecanum works
Each mecanum wheel has 4–6 small rollers mounted at 45° to the hub. When all four wheels spin, the rollers redirect some force sideways, letting the robot move in any direction without turning.
- Forward/backward — all 4 wheels spin same direction at same speed.
- Strafe left — front-left and back-right spin forward; front-right and back-left spin backward.
- Strafe right — opposite of strafe left.
- Rotate — left wheels forward, right wheels backward (or vice versa).
- Diagonal — one pair of opposite wheels spins, the other pair stops.
Wheel orientation rule
Look down at the robot from above. The rollers on all four wheels should form an X pattern — rollers on the front-left and back-right wheels point the same way (↗), rollers on front-right and back-left point the other way (↖).
- If the orientation is off, the robot will move at unexpected angles rather than strafing cleanly — double-check the X pattern before testing.
- Most FTC mecanum sets (REV, goBILDA) are sold as matched pairs — check the label (left vs right).
Pros & cons vs tank drive
- Pro: strafe to align with scoring targets without full turns — saves time.
- Pro: easier autonomous path planning (can move in any direction from any position).
- Con: less pushing power — rollers slip sideways under heavy defense.
- Con: more complex code — need to mix 3 inputs (forward, strafe, rotate).
- Con: rollers wear faster on rough surfaces; check for damage at events.
Sample mecanum math (field-centric mode)
In a field-centric drive, the robot's heading is read from an IMU and rotation is factored out so "forward" always means away from your driver station:
// rotate joystick inputs by robot heading double angle = Math.toRadians(imu.getZAngle()); double newX = x * Math.cos(angle) - y * Math.sin(angle); double newY = x * Math.sin(angle) + y * Math.cos(angle); // assign to wheels frontLeft = newY + newX + rotate; frontRight = newY - newX - rotate; backLeft = newY - newX + rotate; backRight = newY + newX - rotate;
You'll implement this fully in Week 5 software. For now, just understand the concept.
Further reading
Mini glossary (say it out loud)
Core
- FTC — FIRST Tech Challenge; middle/high-school robotics league.
- Gracious Professionalism — compete hard but stay kind, honest, and respectful.
- Autonomous — robot runs programmed steps without a driver.
- Tele-op — driver-controlled period using gamepads.
Hardware & mechanisms
- Control Hub — runs modern FTC robot code and talks to motors and sensors.
- Drivetrain — wheels/motors that move the whole robot.
- Intake — pulls game pieces into the robot.
- Gear ratio — trades speed for torque (or the reverse).
Checklist
Explore more (optional)
- GM0 = community tips.
- If something disagrees → Game Manual & FTC Docs win.
- Double-check legality with your coach.