{
  "id": 20111750,
  "title": "Periodic-Oriented Programming for FIRST Robotics",
  "url": "https://urgent.news/2026/11/15/periodic-oriented-programming-for-first-robotics",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-15T03:16:42.000Z",
  "source": {
    "name": "Lobsters",
    "slug": "lobsters",
    "url": "https://bvisness.me/periodic-oriented-programming/"
  },
  "original_language": "en",
  "account": "Over the course of 17 years, I have witnessed firsthand the evolution of FIRST Robotics Competition (FRC) program writing. Despite the efforts of FIRST and WPILib to provide reliable libraries, I have observed that the conventional programming practices in FRC often lead students astray. In response to this concern, I have developed a philosophy called Periodic-Oriented Programming (POP) to address the issues and provide a more structured approach to robot programming in FRC.\n\nPOP encourages the maximum utilization of the periodic function in an FRC program, which is called 50 times per second by the WPILib framework. By minimizing abstractions and writing most of the logic in a single, top-to-bottom function, students can create more straightforward and beginner-friendly programs that still achieve serious performance.\n\nThe core principle of POP involves centralizing all logic for each robot subsystem within one function, readable from top to bottom. This approach ensures that hardware is only touched once per tick, maintains safety constraints consistently, and streamlines logging and telemetry. By simplifying the structure, POP allows for the development of high-level functions like driveFieldRelative(vx, vy) or goToElevatorPreset(coralOrAlgae, level), which set instance variables to be read later in the periodic function.\n\nTo achieve this, POP extends the Periodic-Oriented approach to subsystem code, ensuring that all logic within each subsystem is centralized in a single function. This centralization enhances the robot's safety, consistency, and reduces the chances of conflicting outputs to the hardware. Furthermore, POP encourages the application of this philosophy at various levels of the robot, including actuator, mechanism, and whole-robot control, thus providing a universal method for robot control.\n\nBy following the principles of POP, students can create robust, safe, and efficient FRC programs that not only comply with safety constraints but also produce fewer lines of state in the program. Ultimately, POP aims to provide a comprehensive framework for robot programming in FRC that encourages logical thinking and fosters the development of high-quality, reliable robots.",
  "summary": null,
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}