Both the manual and supervisory control interfaces are coded for the Android platform in Java. A tablet computer (Lenovo Tab 2 A10-70) is used for the display of the interface and control of the drones by the participant.
Manual Control Interface
A screenshot of the manual control interface is shown in Figure 1. In the center of the interface a live camera view from the UAV’s onboard camera is shown. There are two joysticks, one on either side of the camera view. The left joystick contains controls for both the altitude (center bar) and yaw (side bars) of the UAV. The right joystick controls the lateral motion of the vehicle, allowing movement in any lateral direction (commanding pitch and roll as appropriate). Below the live camera view is a status bar, showing the current battery percentage, time since takeoff, and current altitude of the UAV. In the lower left corner there is a map of the experiment environment, with an icon indicating the position and heading of the UAV. The orange button next to this map view swaps the map view with the live camera view, and can be pressed again to swap them back.
Figure 1: Manual Control Interface
Supervisory Control Interface
A screenshot of the supervisory control interface is shown in Figure 2. The main area of the screen contains a map of the experimental environment, with a red icon indicating the current position and heading of the UAV. On the right side of the interface there are four buttons, with the following functions:
- Takeoff: Turns on the UAV rotors and vertically takes off the drone to a default height of 1m
- Execute Flightplan: Commands the UAV to follow the currently displayed flightplan (sequence of waypoints)
- Pause Flightplan: Interrupts the flightplan currently being executed, and commands the drone to hold its current position
- Land Here: Commands the drone to land in the current position
At the top of the interface there is a status bar, showing the current battery percentage, time since takeoff, and current altitude of the UAV. At the bottom of the interface is a button labeled “Launch Inspection Mode”. The inspection mode allows detailed control of the vehicle and allows view through the UAV’s onboard camera. The Inspection Mode interface is shown in Figure 3. In this interface, the map is replaced by the live camera view from the UAV’s onboard camera, and two joysticks are on either side of the live camera view. The left joystick allows command of the UAV altitude (up/down) and yaw (left/right), while the right joystick allows command of the UAV’s lateral position (forward/backward/left/right).
Figure 2: Supervisory Control interface
Figure 3. Inspection Mode interface
The supervisory interface allows the user to create, delete, and move waypoints to create a flightplan. Waypoints are shown as red boxes on the map, with red lines connecting them in the order they will be executed. The altitude of the waypoint is shown in text inside the red box representing each waypoint. To add a waypoint, the user presses on the map screen and after a few seconds a notification will appear allowing the user to designate the details of the waypoint to be created at that location (See Figure 4). Waypoints are automatically linked in the order they are created (See Figure 5). Waypoints can be moved by pressing and dragging a current waypoint to a new location. Waypoints can be deleted by pressing and holding on a current waypoint, which brings up a notification to modify or delete the waypoint (See Figure 6).
Figure 4. Adding a waypoint in the supervisory interface
Figure 5. Set of linked waypoints showing the current flightplan
Figure 6. Modifying a waypoint in the supervisory interface