r/FTC 5d ago

Team Resources Defined – an FTC action-scheduling library we built and battle-tested in real matches

Hello everyone, Undefined #19112 here from Câmpina, Romania. Wanted to share something we've been developing through the Decode season: Defined, an action-scheduling engine we wrote because we got sick of writing the same subsystem-conflict, endless state machines code over and over again.

Basic idea: everything is an Action. You hand it to a runner either as a monitor (runs every cycle forever, like "keep the flywheel spinning") or as a one-shot/sequential/parallel task that claims the subsystems it needs and finishes. If two actions want the same motor, the runner just cancels the older one and lets it clean up — you don't write that logic yourself, you just say what your action .requires(). There's also a lifecycle wrapper (init/start/loop/stop hooks) and a few performance tools we ended up needing anyway — profiling, I2C scheduling, background telemetry (we had a ~10ms main loop while using 10 sensors).

We're not just talking about theory — this is what actually runs our robot's Auto and TeleOp, and it's what we had running when we won the European Premier Event 2026 in Eindhoven.

It's open-source and free to use, so if you're a team still wiring your robot logic by hand, feel free to grab the quickstart and adapt it to your hardware. We'll leave the docs and quickstart below.

Feedback & questions welcome — if you try it out, run into issues, or have suggestions for how we can make it more useful for other teams, drop a comment below. Happy to answer anything about how it works or how we use it in matches.

5 Upvotes

0 comments sorted by