roboforum.ru

Технический форум по робототехнике.

Программа для управления платами OR

Правила форума
Правила раздела OpenRobotics

Программа для управления платами OR

denissyslo » 18 мар 2010, 07:49

==================================================================================================================
Вставка от =DeaD= - разработчика ORFA-терминала

Репозитарий проекта: http://hg.vehq.ru/orfa-terminal (там можно скачать последнюю версию в пункте "zip" левого меню)
Клиент репозитария: TortoiseHg ( http://bitbucket.org/tortoisehg/stable/wiki/Home )
Используемая среда разработки: Qt Creator ( http://qt.nokia.com/products/developer-tools скачать SDK можно в DOWNLOAD \ LGPL \ Qt SDK for *)
Используемые дополнительные библиотеки:
* Внимание! для всех библиотек надо либо включать место где лежат соотв. файлы в PATH, либо:
  • файлы .dll надо помещать в каталог <qt>/<YYYY.MM>/qt/bin
  • .a-файлы библиотек в <qt>/<YYYY.MM>/qt/lib
  • .h-файлы заголовков в <qt>/<YYYY.MM>/qt/include

Реализованы функции:
  • Отображение видеосигнала с робота
  • Выбора COM-порта и скорости работы;
  • Настройки номеров сервоприводов шасси и pan-tilt платформы;
  • Прямого управления шасси с кнопок формы;
  • Прямого управления шасси с джойстика или геймпада;
  • Прямого управления pan&tilt платформой с ползунков формы;

Планируется:
  • Привести в порядок интерфейс программы;
  • Навигация по подготовленным маякам;
  • Привести в порядок код программы, чтобы можно было использовать этот терминал как базу для любых проектов;

Последняя скомпилированная версия: download/file.php?id=19341

Внешний вид терминала (не последняя версия):
orfa-term-2.jpg


Видео с терминала (не последняя версия):


==================================================================================================================


Сделал робота 6х6, http://roboforum.ru/viewtopic.php?f=10&t=7335
Все никак не доходят руки им порулить - нет программы.
Вроде определился - писать на си билдере.
Сейчас гденить скачаю и начну делать программу.
Я предлагаю тем, кто юзает подобные, обеденится и набрасать основу для типовой программы и выложить исходный код для дальнейшей переделки юзерами.
Т.к. я понимаю, что OFRA - неплохая штука, но эта неплохая штука есть только в МК, а для ее руления еще ничего нет.
Может быть у кого-то уже есть наработки.

Re: Программа для упраления платами OR

=DeaD= » 06 фев 2011, 23:40

Grem писал(а):А чем дольше будете _прокачивать_, тем дольше будет переводить приложение на плагин-ориентированное :P

Было бы что переводить, сидеть и проектировать сферического коня в вакууме - тоже та еще задача :)

И вообще - помощь в дальнейшей разработке вполне себе принимается! :crazy:

Re: Программа для упраления платами OR

Grem » 07 фев 2011, 00:20

Так а чего сложного то? Это как MVC - один раз написав основную часть - сильно сэкономите время при расширении.

Re: Программа для упраления платами OR

=DeaD= » 07 фев 2011, 00:43

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

Re: Программа для упраления платами OR

Grem » 07 фев 2011, 00:58

Как это что? Главная программа - чистый терминал, каждая другая решаемая задача - плагин.
Сложное - правильно объявить интерфейсы с основной частью.

Плагины не должны влиять на среду где они исполняются.
блин, оказывается писать плагин-ориентированные приложения довольно таки интересно, а я при изучении джавы забил на них
Последний раз редактировалось Grem 07 фев 2011, 01:06, всего редактировалось 1 раз.

Re: Программа для упраления платами OR

=DeaD= » 07 фев 2011, 01:02

Интерфейс - голые команды шасси что-ли? Ну его, это скучно :)

Re: Программа для упраления платами OR

Grem » 07 фев 2011, 01:06

Интерфейс в смысле GUI чтоли? :D

Re: Программа для упраления платами OR

=DeaD= » 07 фев 2011, 01:08

Да нет, между плагином и основной программой.

Re: Программа для упраления платами OR

Grem » 07 фев 2011, 01:24

Такой же, как в документации к контроллеру, или я опять не понял суть? Сделать Plugin API, точка входа каждого плагина должна реализовывать интерфейс с основными методами.

Re: Программа для упраления платами OR

=DeaD= » 07 фев 2011, 01:44

Неее... это скучно. Как минимум надо уровень выше делать - когда уже настроено какой контроллер, какие сервы за что отвечают и т.п. Иначе весь функционал этот придется в каждый плагин тащить. Поэтому 100% интерфейс не такой же.

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

Re: Программа для упраления платами OR

Виктор Казаринов » 07 фев 2011, 09:33

Терминал должен быть как бы маленькой операционной системой, связующим звеном между плагинами и железом роботов а также с юзером. Чем меньше в нем будет того, что можно было бы сделать вариабельным, тем лучше. Даже внешний вид формы с изображением камеры или панель управления роботом с кнопками - все это можно вынести в плагины. И пусть народ лепит их всякие и разные. Ими мощь терминала прирастать будет.
Но при этом желательно чтобы каждый плагин как можно меньше зависел от других плагинов.

Re: Программа для упраления платами OR

=DeaD= » 07 фев 2011, 09:40

Виктор Казаринов писал(а):Но при этом желательно чтобы каждый плагин как можно меньше зависел от других плагинов.

Это 100% будет вселенское зло. Надо чтобы можно было одному плагину генерить информацию, которую могут использовать другие плагины. Собственно основной вопрос - стандартизация таких интерфейсов. Скажем модуль навигации по маякам должен опираться на модуль детектирования маяков, тогда можно будет легко заменять одни маяки другими. И наоборот - можно вместо модуля опирающегося на заранее известные координаты маяков создать модуль, который будет сам гонять по квартире, запоминать какие где маяки и строить карту.

Re: Программа для упраления платами OR

Виктор Казаринов » 07 фев 2011, 10:01

М.б. вы не так меня поняли. Я хотел сказать - плагины не должны зависеть от имплементации (конкретной реализации) других плагинов. Т.е. каждый плагин должен общаться с терминалом и другими плагинами через стандартный для данного терминала Plugins API.
Вопрос - а надо ли делать свой вариант ROS? Или это будет совсем другое нечто?

Re: Программа для упраления платами OR

=DeaD= » 07 фев 2011, 10:07

Про свой ROS - да, есть такой вопрос :)
Может быть стоит чужое освоить, но всё что я до этого пробовал - ужас какое тяжеловесное.

Re: Программа для упраления платами OR

Angel71 » 07 фев 2011, 10:24

плагины, их взаимодействие и реализация интерфейса относительно несложно реализовать :( свой рос это тяжко

Re: Программа для упраления платами OR

Grem » 07 фев 2011, 10:44

Виктор Казаринов писал(а):Терминал должен быть как бы маленькой операционной системой, связующим звеном между плагинами и железом роботов а также с юзером. Чем меньше в нем будет того, что можно было бы сделать вариабельным, тем лучше. Даже внешний вид формы с изображением камеры или панель управления роботом с кнопками - все это можно вынести в плагины. И пусть народ лепит их всякие и разные. Ими мощь терминала прирастать будет.
Но при этом желательно чтобы каждый плагин как можно меньше зависел от других плагинов.

Вот об этом я и говорю :good:
Т.е. к примеру, сделаю я навигацию по маякам, а кто-то сделает плагин, использующий мою навигацию и умеющий патрулировать квартиру.

И что? Передать данные с одного плагина на другой - тривиальная задача.


Rambler\'s Top100 Mail.ru counter