Skip to content

Robot Scheduling System

Tom Tzook edited this page Jun 20, 2017 · 8 revisions

The Robot Scheduling System acts like a small operating system and allows easy control of multiple systems at the same time. Each system on the robot is represented by a System object and can run a single Action at each given time. Those Actions are managed and scheduled by the Scheduler, which is also resposible of making sure to avoid collision between multiple Actions on a single System. When an Action is started, the Scheduler checks if the System already has an Action running on it, and cancels that Action. It is possible to define a default Action for each System. If no Action is running on that System and a default Action exists, that Action will be executed.

How does it work?

The scheduling system bases its operation on dividing the robot into different systems, each represented in a different class and provides logic for actuator control and sensor input: Robot Systems

Each System can have one Action running on it at any given time. That Action is resposible for executing programmed control algorithms for that System. The Actions are executed by the Scheduler: Scheduling System

The Scheduler's main job is to execute Actions. When an Action is started, it is registred into the Scheduler. The Scheduler checks if the System it uses, has another Action in execution. If it does, that Action is interrupted. Regardless, the new Action starts running.