vedranMv / roverGUI

GUI app for remote control of a small homemade rover. Implemented in QT, app allows for driving the rover, visualizing data from on-board sensors, monitoring internal system events, planning mission...

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rover control GUI

Project contains QT-based application written to control a small homemade rover. Rover is based on microcontroller and communicates over ESP8266 using network sockets. This app starts up a TCP server which, once connected with the rover, can visualize data from on-board sensors, monitor system events on the rover or steer it around. More complex functionality includes mission planning, where rover can (remotely) be instructed to perform series of tasks on a given timeline while reporting outcome back through this app (this functionality is supported by the rover and timed on-board, not through app).

GUI is now in integration-testing phase (with the rover) and some of the screen shots can be seen below:

'Overview' tab giving most important info
alt tag

'Instruments' tab showing plot of IMU sensor data
alt tag

'Instruments' tab showing individual platform modules
alt tag

'Mission planner' tab
alt tag

'Engines data' tab
alt tag

Note: This is mostly educational project, so some parts of the code might be considered "reinventing the wheel" but were made in order to get a better understanding of coding principles and practices :)

Credits

This project relies on following freely available libraries available on github:

  • QtOpenCVViewerGl - QT Widget used for rendering OpenCV images (renders all graphs and visualizations seen in the UI)
  • ocvGraph - OpenCV library wrote specifically for plotting graphs; developed as a part of this project

About

GUI app for remote control of a small homemade rover. Implemented in QT, app allows for driving the rover, visualizing data from on-board sensors, monitoring internal system events, planning mission...


Languages

Language:C++ 98.2%Language:QMake 1.6%Language:CSS 0.2%