Welcome to the monorepo for the UAS Ground Communications project. It houses the channel of communication between the drone and the web-app for waypoints, drone-actions and status updates.
It contains 3 main sub-projects:
- web-frontend provides the user interface for operators
- web-backend acts as the central server coordinating data flow and business logic
- mission-planner handles low-level drone communication and flight operations
- integration-testing provides integration testing for the connection between
mission-plannerandweb-backend
Data flows from the drone through mission-planner → web-backend → web-frontend, with real-time updates pushed via WebSockets for live telemetry and status information.
The connection works like this:
mission-plannerinteracts directly with the drone, and exposes a mavlink connection for interactions with theweb-backend.- The
web-backendexposes a REST API for theweb-frontendto communicate with.
Learn more about each project from their individual readmes:
- web-frontend - User interface for operators
- web-backend - Central server coordinating data flow and business logic
- mission-planner - Low-level drone communication and flight operations
The default SITL image targets amd64. On an ARM64 host, select the ARM image and platform when starting the stack:
UASITL_IMAGE=ubcuas/uasitl:copter-arm-4.5.5 \
UASITL_PLATFORM=linux/arm64 \
docker compose up -dThese variables can also be placed in a .env file for repeated local use.