Git Product home page Git Product logo

rovui's Introduction

RovUI - пульт управления для murROV

Данное программа позиционируется как отправная точка для написания своего ПО управления murROV.

Сборка

Данное ПО зависит от:

  • Qt 5.6+ (core gui network multimedia multimediawidgets).
  • C++11
  • SFML 2.5.1 (В репозитории находятся собранные бинарники для Windows MingGW 7.3.0).

Работоспособность проверялась только под Windows 10, если Вы хотите использовать данное ПО под GNU/Linux, MacOS, FreeBSD, Plan 9, под какой-либо другой ОС и у Вас возникли проблемы, создайте issue, мы поможем. :)

Основные элементы интерфейса

Пульт управления состоит из следующих элементов:

  • Меню, с помощью которого вы можете начать/остановить захват изображений с камеры, настроить оси и кнопки джойстика, включить или отключить боковые виджеты.
  • Центральный виджет, на котором выводится изображения с камеры и осуществляется выбор источника картинки.
  • Пять боковых виджетов: виджет телеметрии, виджет с информационными сообщениями (на него переопределен вывод с qDebug, qInfo, qWarning), виджет ограничения тяги на движители, виджет управления регуляторами и виджет логирования.

img

Подключение

Пульт автоматически получает UDP датаграммы на порт 3010 и отправляет пакет с командами управления на 192.168.1.5:3020 (RovUdpConnection). С форматом пакетов Вы можете ознакомиться в файле RovDataTypes.hpp.

Элементы управления

Меню

В меню расположено три подменю: Камера, Настройки и Вид. Меню камера используется для запуска и остановки захвата изображений с камеры. В меню вид Вы можете настроить параметры отображения виджетов. В меню настройки вы можете вызвать диалоговые окна для переназначения осей джойстика и подачи отладочной тяги на движители.

Виджет телеметрии

Данный виджет служит для отображения телеметрии, получаемой с ROV.

Виджет с информационной консолью

Данный виджет предназначен для вывода информационных сообщений. На него переопределен вывод с qDebug, qInfo, qWarning.

Виджет ограничения тяги

Данный виджет предназначен для того, чтобы ограничить максимальный уровень тяги, подаваемый на движители во время выполнения манипуляционных задач.

Виджет регуляторов

Данный виджет предназначен для управления (включения/выключения регуляторов).

Виджет логирования

Данный виджет предназначен для сохранения данных телеметрии, получаемой с аппарата, и последующим сохранением в CSV файл. Для начала логирования необходимо нажать на кнопку "Начать запись". Для остановки "Остановить запись", для сохранения "Сохранить лог".

rovui's People

Contributors

vladbolotov avatar alexyukikaze avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.