Сделал робота 6х6, http://roboforum.ru/viewtopic.php?f=10&t=7335 Все никак не доходят руки им порулить - нет программы. Вроде определился - писать на си билдере. Сейчас гденить скачаю и начну делать программу. Я предлагаю тем, кто юзает подобные, обеденится и набрасать основу для типовой программы и выложить исходный код для дальнейшей переделки юзерами. Т.к. я понимаю, что OFRA - неплохая штука, но эта неплохая штука есть только в МК, а для ее руления еще ничего нет. Может быть у кого-то уже есть наработки.
краткая биография: родился в роддоме - учился на учебе - служил на службе - работал на работе.....
Так а чего сложного то? Это как MVC - один раз написав основную часть - сильно сэкономите время при расширении.
"There is nothing better than sliding down snow and flying through the air" (с)Shane McConkey. Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
Сложное - правильно объявить интерфейсы с основной частью. Я пока совершенно не представляю что и каким образом будет выноситься в плагины. Сейчас навигацию прикручу, надеюсь чуть яснее станет.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Как это что? Главная программа - чистый терминал, каждая другая решаемая задача - плагин.
Сложное - правильно объявить интерфейсы с основной частью.
Плагины не должны влиять на среду где они исполняются. блин, оказывается писать плагин-ориентированные приложения довольно таки интересно, а я при изучении джавы забил на них
Последний раз редактировалось Grem 07 фев 2011, 01:06, всего редактировалось 1 раз.
"There is nothing better than sliding down snow and flying through the air" (с)Shane McConkey. Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
"There is nothing better than sliding down snow and flying through the air" (с)Shane McConkey. Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
Такой же, как в документации к контроллеру, или я опять не понял суть? Сделать Plugin API, точка входа каждого плагина должна реализовывать интерфейс с основными методами.
"There is nothing better than sliding down snow and flying through the air" (с)Shane McConkey. Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
Неее... это скучно. Как минимум надо уровень выше делать - когда уже настроено какой контроллер, какие сервы за что отвечают и т.п. Иначе весь функционал этот придется в каждый плагин тащить. Поэтому 100% интерфейс не такой же.
Ну и конечно же хочется, чтобы один плагин мог пользовать другой, пусть для навигации той же. Т.е. к примеру, сделаю я навигацию по маякам, а кто-то сделает плагин, использующий мою навигацию и умеющий патрулировать квартиру.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Терминал должен быть как бы маленькой операционной системой, связующим звеном между плагинами и железом роботов а также с юзером. Чем меньше в нем будет того, что можно было бы сделать вариабельным, тем лучше. Даже внешний вид формы с изображением камеры или панель управления роботом с кнопками - все это можно вынести в плагины. И пусть народ лепит их всякие и разные. Ими мощь терминала прирастать будет. Но при этом желательно чтобы каждый плагин как можно меньше зависел от других плагинов.
Виктор Казаринов писал(а):Но при этом желательно чтобы каждый плагин как можно меньше зависел от других плагинов.
Это 100% будет вселенское зло. Надо чтобы можно было одному плагину генерить информацию, которую могут использовать другие плагины. Собственно основной вопрос - стандартизация таких интерфейсов. Скажем модуль навигации по маякам должен опираться на модуль детектирования маяков, тогда можно будет легко заменять одни маяки другими. И наоборот - можно вместо модуля опирающегося на заранее известные координаты маяков создать модуль, который будет сам гонять по квартире, запоминать какие где маяки и строить карту.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
М.б. вы не так меня поняли. Я хотел сказать - плагины не должны зависеть от имплементации (конкретной реализации) других плагинов. Т.е. каждый плагин должен общаться с терминалом и другими плагинами через стандартный для данного терминала Plugins API. Вопрос - а надо ли делать свой вариант ROS? Или это будет совсем другое нечто?
Виктор Казаринов писал(а):Терминал должен быть как бы маленькой операционной системой, связующим звеном между плагинами и железом роботов а также с юзером. Чем меньше в нем будет того, что можно было бы сделать вариабельным, тем лучше. Даже внешний вид формы с изображением камеры или панель управления роботом с кнопками - все это можно вынести в плагины. И пусть народ лепит их всякие и разные. Ими мощь терминала прирастать будет. Но при этом желательно чтобы каждый плагин как можно меньше зависел от других плагинов.
Вот об этом я и говорю
Т.е. к примеру, сделаю я навигацию по маякам, а кто-то сделает плагин, использующий мою навигацию и умеющий патрулировать квартиру.
И что? Передать данные с одного плагина на другой - тривиальная задача.
"There is nothing better than sliding down snow and flying through the air" (с)Shane McConkey. Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.