Source:
Report:
...
Introduction
The event scheduler module provides functionality pertaining to publishing scheduled events for the Cyborg. The module is also responsible for detecting and publishing other system events like when the Cyborg battery is starting to run low. The scheduler
function previously found in module cyborg_ navigation
is isolated and moved to this module. A context diagram for the module is seen in Figure 8.1 (AB = Areg Babayan's masters thesis 2019)
...
The event scheduler is implemented as a single ROS node, containing the scheduler function previously mentioned, and in addition callbacks for the topics it subscribes to:
Function | Description |
---|---|
scheduler |
...
Checks for ongoing events, by searching through the database of events provided in the navigation module. If an event at another location than the current one is found, a navigationscheduler_ event is published on the event topic of the controller module. | |
callback_current_location |
...
Callback for the location subscriber, updates the current location of the module. | |
callback_subscriber_state |
...
Callback for the state subscriber, updates the module with the current state. | |
callback_battery_status |
...
Callback for the battery status subscriber. If the battery percentage is below a set value while the Cyborg is not already charging og moving to the dock, a powerlow_ event is published on the event topic of the controller module. |