Systems for interfacing with the drone and the competition objectives
The ground team on UAS@UCLA develops a versatile user experience for monitoring and triggering actions on the drone, as well as interfacing with the competition objectives. This includes planning a detailed mission and processing drone imagery. A central ground computer communicates with the drone over a wireless network. The central computer acts as a server for our ground station web app and other ground subsystems, such as a control box and an antenna tracker.
Web App (2018 UAS@UCLA Ground Station)
Antenna Tracker (ArduPilot website)
Control Box (Google Images)
How do I get involved with ground systems?
Much of the UAS ground station involves communications software and UI design, but as you can see, we are also introducing electrical and mechanical engineering projects. Join if you are interested in building apps, managing data, and/or creating some cool, non-airborne electromechanical contraptions.
Read on for tutorials to get familiar with the software used.
See the Software Setup Guide
If you have trouble with software setup or are short on time, all you need for now is Node.js. Install the "Current" version, and you can get started with learning right away.
Tutorials & Resources
- Socket.IO with React and Node.js
- Interfacing with the Interoperability System (Judge's Server) (in progess)
Feel free to ask me questions on Slack @Ryan Nemiroff.
Platforms and Libraries Used
- Socket.IO for communicating between ground subsystems.
- Protocol Buffers for maintaining a structured data format between drone & ground platforms.
- ZeroMQ for some communications between the ground and the drone? (hasn't been implemented yet)
- Node.js & npm for building the front-end and back-end of the ground station interface.
- React for making the front end UI.