The Rover Manager leverages the power of Qt5 through the PyQt5 library's widgets. The map section uses a QtQuick widget to display tiles from Open Street Map. The system tracks the individual positions, goals, and tasks of the drones within it's communication range. The communication range is determined by the type of Xbee used.

The following image shows the programs initialisation:

Rover Controller Initialisation

Tags: Python, Qt5, PyQt5, JSON, Xbee, Arduino, C
Rover Manager - Robots

Rover Manager has the option to connect to certain robot types, ground unit called rovers, air units called over watch, and relay units called controllers:

Rover Manager - Robot Types

Each robot has a specific communication module version, not all types can communicate so it's best to have the entire system use the same type:

Rover Manager - Comm Types

Each robot has been assigned a unique ID and uses this id when communicating with the Rover Manager, the manager is given this id when the robot is added to the program. In the add robot screen the Name value is used as the ID.