Challenge Overview
Challenge Introduction
We are running a long term series of challenges to create a new version of a ground control system for small unmanned aircraft systems (sUAS; i.e., drones) based on QGroundControl. The ground control system will allow the UASs to be safely used for live flight operations while also providing the functionality necessary for researching advanced algorithms and human-automation teaming concepts.
Objective
The main goal of this challenge is to connect QGroundControl to a TCL4 USS server. We won’t have a test server, so we must mock some of the endpoints. Existing mock server will be provided.
Technology and Frameworks
- QGroundControl
- C++
- QT
- Qt QML
- TCL4 USS - https://github.com/nasa/utm-apis/tree/tcl4_v191010
Individual Requirements
- Update the existing mock API server and add TCL4 USS websocket mock server
- The websocket mock server requirements will be provided in the forum
- Websocket server will support 3 send commands and 2 receive messages
- Send login JSON commands (open)
- Send subscription preferences command
- Send command to subscribe to specific messages
- Receive authentication accepted
- Receive messages
- The API will be responsible for sending the messages using the websocket server. The following messages must be supported:
- Once user submits an operation (POST “<base_url>/operator/operation”) ->acceptance confirmation will be sent to the user using websocket. For mocking purposes we send a response after a random time between 2-10s and we must support both success and failure cases
- Once device is armed -> position data from other drones will be sent over the websocket every 60s. Position should change over time
- Once user submits a close (POST “<base_url>/operator/message”) -> acceptance confirmation will be sent to the user using websocket. For mocking purposes we send a response after a random time between 2-10s and we must support both success and failure cases
- Payload examples will be provided in the forum
Final Submission Guidelines
- Updated mock server