Сделал робота 6х6, http://roboforum.ru/viewtopic.php?f=10&t=7335 Все никак не доходят руки им порулить - нет программы. Вроде определился - писать на си билдере. Сейчас гденить скачаю и начну делать программу. Я предлагаю тем, кто юзает подобные, обеденится и набрасать основу для типовой программы и выложить исходный код для дальнейшей переделки юзерами. Т.к. я понимаю, что OFRA - неплохая штука, но эта неплохая штука есть только в МК, а для ее руления еще ничего нет. Может быть у кого-то уже есть наработки.
Сложное - правильно объявить интерфейсы с основной частью. Я пока совершенно не представляю что и каким образом будет выноситься в плагины. Сейчас навигацию прикручу, надеюсь чуть яснее станет.
Как это что? Главная программа - чистый терминал, каждая другая решаемая задача - плагин.
Сложное - правильно объявить интерфейсы с основной частью.
Плагины не должны влиять на среду где они исполняются. блин, оказывается писать плагин-ориентированные приложения довольно таки интересно, а я при изучении джавы забил на них
Последний раз редактировалось Grem 07 фев 2011, 01:06, всего редактировалось 1 раз.
Такой же, как в документации к контроллеру, или я опять не понял суть? Сделать Plugin API, точка входа каждого плагина должна реализовывать интерфейс с основными методами.
Неее... это скучно. Как минимум надо уровень выше делать - когда уже настроено какой контроллер, какие сервы за что отвечают и т.п. Иначе весь функционал этот придется в каждый плагин тащить. Поэтому 100% интерфейс не такой же.
Ну и конечно же хочется, чтобы один плагин мог пользовать другой, пусть для навигации той же. Т.е. к примеру, сделаю я навигацию по маякам, а кто-то сделает плагин, использующий мою навигацию и умеющий патрулировать квартиру.
Терминал должен быть как бы маленькой операционной системой, связующим звеном между плагинами и железом роботов а также с юзером. Чем меньше в нем будет того, что можно было бы сделать вариабельным, тем лучше. Даже внешний вид формы с изображением камеры или панель управления роботом с кнопками - все это можно вынести в плагины. И пусть народ лепит их всякие и разные. Ими мощь терминала прирастать будет. Но при этом желательно чтобы каждый плагин как можно меньше зависел от других плагинов.
Виктор Казаринов писал(а):Но при этом желательно чтобы каждый плагин как можно меньше зависел от других плагинов.
Это 100% будет вселенское зло. Надо чтобы можно было одному плагину генерить информацию, которую могут использовать другие плагины. Собственно основной вопрос - стандартизация таких интерфейсов. Скажем модуль навигации по маякам должен опираться на модуль детектирования маяков, тогда можно будет легко заменять одни маяки другими. И наоборот - можно вместо модуля опирающегося на заранее известные координаты маяков создать модуль, который будет сам гонять по квартире, запоминать какие где маяки и строить карту.
М.б. вы не так меня поняли. Я хотел сказать - плагины не должны зависеть от имплементации (конкретной реализации) других плагинов. Т.е. каждый плагин должен общаться с терминалом и другими плагинами через стандартный для данного терминала Plugins API. Вопрос - а надо ли делать свой вариант ROS? Или это будет совсем другое нечто?
Виктор Казаринов писал(а):Терминал должен быть как бы маленькой операционной системой, связующим звеном между плагинами и железом роботов а также с юзером. Чем меньше в нем будет того, что можно было бы сделать вариабельным, тем лучше. Даже внешний вид формы с изображением камеры или панель управления роботом с кнопками - все это можно вынести в плагины. И пусть народ лепит их всякие и разные. Ими мощь терминала прирастать будет. Но при этом желательно чтобы каждый плагин как можно меньше зависел от других плагинов.
Вот об этом я и говорю
Т.е. к примеру, сделаю я навигацию по маякам, а кто-то сделает плагин, использующий мою навигацию и умеющий патрулировать квартиру.
И что? Передать данные с одного плагина на другой - тривиальная задача.