Skip to content

Architecture Watchdogs

David Chan edited this page Jul 12, 2016 · 2 revisions

Watchdogs

The watchdogs are a simple set of functions that are responsible for dealing with the possibility that the robot crashes at runtime. Because everything on the robot is dynamically loaded, it is possible to reset the robot extremely quickly to a factory configuration. When the watchdog is triggered (that is, one of the context threads is unresponsive for more than 30 seconds), the watchdog reloads the Hardware abstraction layer and sets the robot into a standing position with the eyes blinking red. The watchdog then reloads the context that should be running and resumes operation of the current state of play (if the robot was penalized, the robot remains so - if the robot was playing, it returns to play). This eliminates the need for robots to be picked up while playing, as the watchdogs can also revert to a known working context configuration - which allows a robot to play the game in a rolled-back version of the code (which is often better than losing time with a manual RFP, and reconfigure of the robot).