roboforum.ru

Технический форум по робототехнике.
Текущее время: 13 апр 2025, 19:03

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 24 дек 2013, 14:30 
Не в сети

Зарегистрирован: 23 дек 2013, 23:03
Сообщения: 17
Откуда: Нижний Новгород
прог. языки: С++, Python, PHP
ФИО: Андрей
Всем доброго времени суток!

Хотелось бы рассказать об одной идее (она является частью большего, но пока только об этом) и о том, что получилось на данный момент.
Идея: разработка GUI для управления самоходными роботами достаточно однотипная (движение, управление какими-либо доп. характеристиками). Можно реализовать определенный набор стандартных компонент (кнопки управления, аккумуляторы, видео, геопозиционирование и пр.) и механизмов их удобного создания / конфигурирования без изменения исходного кода. Для GUI из 3-4 кнопок это конечно погоды не сделает, но для более сложных, где количество управляемых характеристик более 7-10 должен быть выигрыш по времени / усилиям.

Так как основной интерес для апробирования здесь представляет ПО, то для экспериментов была выбрана максимально готовая платформа. Так сложилось, что это оказался радиоуправляемый танк шпион LT-728 4-CH Wi-Fi. В принципе на его месте мог оказаться любой аналогичный робот с поддержкой WiFi и вебкамеры.

Оставим за кадром процесс "взлома" протокола команд (для управления есть стандартные приложения), это сейчас не суть.
Суть в том, что было сделано:
  • Разработано Qt приложение(Dispatcher) для создания конфигурируемого GUI. создан минимальный базовый набор виджетов - кнопки, набор вебкамер, вебкамера, аккумулятор.
  • Разработана библиотека(network_lib) для сетевых взаимодествий. Цель библиотеки - скрыть детали сетевого взаимодействия. Конкретно для танка шпиона поток команд шел в UDP
  • Разработана библиотека(multispy) реализующая логику управления роботом. Данные о действиях пользователя получаются от Dispatcher и передаются роботу посредством network_lib
  • Создан конфигурационный файл для описания GUI для данного робота
Вуаля! Это позволило управлять танком-шпионом из своего десктоп приложения. Для создания GUI для нового конкретного робота необходимо только создать конфиг и реализовать библиотеку с логикой(все это подключается в Dispatcher). В приложении пример конфигурационного файла для танка-шпиона и скриншот окна приложения.

Что интересно было бы получить от уважаемых форумчан:
  • Отзывы и комментарии о идее
  • Если кого то заинтересовало озвученное выше, то возможено рассмотреть различные варианты взаимодействия - попробовать данный подход / ПО для их роботов, помочь с написанием конфига, библиотеки с логикой.

P.S. / offtop / бага
Запостить тему с первого раза не получилось - при попытке предпросмотра/сохранения/отправки происходило перенаправление на список форумов, без пояснения причины. Позже стало понятно, что это происходит при наличии в тексте знака больше/меньше. Не экранируется - ок, но такое поведение - какая то подлянка по отношению к пользователю.


Вложения:
Комментарий к файлу: Пример конфигурационного файла
multispy.cfg.txt [1.91 КиБ]
Скачиваний: 430
Комментарий к файлу: Скриншот полученного GUI
multispy_sample_gui.png
multispy_sample_gui.png [ 49.46 КиБ | Просмотров: 3226 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 26 дек 2013, 16:29 
Не в сети
Аватара пользователя

Зарегистрирован: 05 фев 2008, 15:33
Сообщения: 2687
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович
Звучит интересно, но описание не сильно понятное.
Это работает только по WiFi?
Если на роботе микроконтроллер а не ОС?
В текстовике что приложен конфигурация кнопок.

PS: Ну и стандартное - что профиль не заполнен? Город какой?

_________________
Никто кроме нас!!!
4Robots.ru - Все для роботов!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 26 дек 2013, 17:37 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
Про такой проект слышали? http://ru.wikipedia.org/wiki/ROS_%28%D0 ... C%D0%B0%29
там уже всё есть.

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 26 дек 2013, 17:49 
Не в сети

Зарегистрирован: 23 дек 2013, 23:03
Сообщения: 17
Откуда: Нижний Новгород
прог. языки: С++, Python, PHP
ФИО: Андрей
Из описания возможно не все понятно - задавайте вопросы, с радостью отвечу.

Конкретно этот робот работает по WiFi - у него там dir-300 внутри. Но тут главное что бы просто была сеть. Физически робот находится в Сарове, а я в Гомеле. Чел, у которого робот - делал для пробы проброс портов для команд/видео, в результате у меня была возможность увидеть видео и передать команды. Но с этим пока не все гладко - в локалке гораздо лучше:)

В принципе рассматриваем варианты расширения способов передачи. Например, если робот будет принимать команды по bluetooth или еще как - можно реализовать поддержку и для этого.

Микроконтроллер vs. ОС - тут нужно смотреть конкретнее, как реализован обмен данными с роботом. В случае с ОС как то все проще - если есть поддержка стека протоколов Tcp/ip, то это здорово.

В тестовике по идее могут быть описаны и другие элементы при необходимости. Его назначение - позволить получить нужное GUI без влезания в исходный код. Данные о действиях пользователя(для этого и нужны id у элементов) передаются в плагин-библиотеку реализующую логику робота по определенным интерфейсам, так же проходят данные для отображения на элементах (аккамулятор - уровень заряда).

PS: профиль - исправим

Добавлено спустя 6 минут 29 секунд:
linvinus писал(а):
Про такой проект слышали? http://ru.wikipedia.org/wiki/ROS_%28%D0 ... C%D0%B0%29
там уже всё есть.

Слышали, но на сколько я понимаю - там реализованы больше вещи для программирования самой платформы, а не интерфейсов над ней. Возможно я заблуждаюсь, сегодня посмотрю про ROS подробнее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 26 дек 2013, 18:00 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
http://wiki.ros.org/rqt
http://wiki.ros.org/rviz

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 26 дек 2013, 18:49 
Не в сети

Зарегистрирован: 23 дек 2013, 23:03
Сообщения: 17
Откуда: Нижний Новгород
прог. языки: С++, Python, PHP
ФИО: Андрей
linvinus писал(а):
http://wiki.ros.org/rqt
http://wiki.ros.org/rviz

Спасибо за ссылки. Немного посмотрел поближе. Есть интересные моменты и в какой то степени схожесть идеологии.
Rviz на сколько я понял не подходит под описанную идею, а вот rqt - это очень интересно. Но с полнотой документации конечно пока плохо. Еще смущает то, что пакет переведен в состояние поддержки и то что там используется старенькая Qt ( 4.8 ). Обновлений на джитхабе нет 3 месяца.

А вы разрабатывали что-нибудь с помощью ROS? В том числе и с rqt?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 27 дек 2013, 09:42 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
Немного ковырял, сделал модуль для мониторинга состояния аккумулятора, но потом решил что без робота там особо ковырять нечего.
Планирую вскоре вернуться.
С qt вряд ли буду работать, я предпочитаю gtk.

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 27 дек 2013, 12:42 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
а как насчет какого-нибудь фремворка на основе html? гибкость, многоплатформенность(включая всемобильные платформы), любой может подпилить это дело?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 27 дек 2013, 14:16 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
Блин, не нужно пихать html во все дыры.

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 27 дек 2013, 14:25 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Аргументы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 27 дек 2013, 20:56 
Не в сети

Зарегистрирован: 23 дек 2013, 23:03
Сообщения: 17
Откуда: Нижний Новгород
прог. языки: С++, Python, PHP
ФИО: Андрей
На счет web-решения тоже думали, есть как свои плюсы, так и минусы. А так же были причины по которым выбрали на данный момент Qt. Но про web-решение помним и возможно что-нибудь сообразим позже.

Сделаю еще один вброс инфы:) Под НГ планирую к этому делу прикрутить игровой руль - на поиграться. Интересно, кто-нибудь из формучан приделывал к своим роботам управление с USB HID устройств и что из этого вышло?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конфигуриемое GUI для управления самоходными роботами
СообщениеДобавлено: 27 дек 2013, 22:29 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
html - это не обязательно веб. Все больше и больше фремворков поддерживают html для всяких UI. Android/iOs в первую очередь, так что это очень перспективное дело.
Вот вам ваш Qt: https://qt-project.org/doc/qt-5/qwebframe.html


Вот 5-minute-solution на Android/SL4A/Html/JavaScript


Да, приделывали HID. И Боевые Роботы, и Dead, и я. Это как минимум. Руль, геймпад или джойстик. Лучше всего _хороший_ геймпад(Logitech, например). Для автомобильной схемы движения - лучше всего руль, но за ним сидеть надо.

Руль/авто

Геймпад/танк


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO