Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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:

FunctionDescription
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.