Я столкнулся с рядом трудностей при создании автономной программной платформы AIAssistant. Основная из них - это довольно большая база знаний. Это нехорошо и при распространении программы как обычного пользовательского приложения, так и встраиваемого/настольного приложения для управления роботом. Сейчас мне кажется, что интересным решением может стать создание единой клиент-серверной платформы, централизованно обслуживающей с помощью толстеньких клиентов (программ, работающих на клиентской стороне).
Клиенты должны выполнять следующие функции: 1. Обеспечивать связь - свою и сервера с оборудованием с помощью программных подключаемых драйверов. 2. Обеспечивать ресурсоемкие первичные вычисления. К таким вычислениям я отношу в первую очередь обработку изображений до требуемой степени абстракции, с которыми работает сервер. 3. Обеспечивать быструю примитивную автономную реакцию системы (рефлексы), т.к. роботы работают в реальном времени и критическим является время реакции. Возможно, что такая автономность не потребуется. 4. Обеспечивать свою связь с удаленным сервером. 5...
Сервер должен выполнять следующие функции: 1. Служить единым хранилищем опыта роботов. 2. Выполнять все главные информационные функции жизнедеятельности робота. 3...
Вот такая приблизительно мысль. М.б. кому-то она интересна? Хотелось бы с кем-нибудь тнад такой платформой поработать совместно. Условия можно обсудить. Но сейчас в первую очередь нужно саму идею распределенного роботостроения обсудить.
Вложения
Общая структурная схема проекта AIGOD
Последний раз редактировалось Виктор Казаринов 01 авг 2010, 08:36, всего редактировалось 1 раз.
2Michael_K: Спасибо за вашу неоценимую помощь. 2Виталий: Т.к. данная система еще только в начале разработки, то подробную структуру ядра я пока изобразить не могу. Однако по мере такой разработки структура будет четко и ясно очерчена. Кроме того, она в процессе разработки как и другие обычные проекты будет меняться. Меня сейчас интересует следующее: определение структуры всей системы в целом для запуска первой простейшей тестовой реально действующей системы начиная от робота заканчивая пользователем. Как это ни банально, но, скорее всего, это такая система: Пользователь с пом. браузера или специального програмного клиента подключается к серверу, робот с помощью своего клиента также подключается к серверу. После этого в качестве теста можно будет управлять роботом аналогично тому, как это сделал DeaD с некоторыми отличиями. Затем только можно будет делать более сложные виды операций над поведением робота. Все это я ранее хотел сделать в автономной версии программы. И простейшую систему управления своим роботом сделал. Но теперь даже такая казалось бы простая задача в действительности существенно сложнее, т.к. нужно сделать универсальный пульт по управлению различными роботами.
ага, ага LISP vs JAVA - вот за что я вас всех люблю!!! Держите меня семеро или я сейчас в центр луны упаду. Виктор Генадьевич, вам над вашей схемой еще курить и курить
Последний раз редактировалось Гость 02 авг 2010, 05:52, всего редактировалось 1 раз.
Причина:Нечего тут личные сообщения писать
2cjA: Спасибо, я не курю. Я на Java хоть и не очень хорошо пишу, но проектов несколько америкосам сделал. И про GWT понятие имею. Все это хорошо, но программирование не в целевых субстанциях меня напрягает. Для каждой задачи нужно выбирать соответствующий язык, а не пытаться делать на том, который лучше знаешь. И курить то зачем? Нужно делать.
Не знаю как в MSRS, а вот URBI (первые 2 ссылки) - это по ходу как раз то, что вы пытаетесь придумать. Со всякими эвент-драйвен ЯП, клиент-серверной архитектурой и кросс-платформенностью.
2Snable: Я вообще-то не совсем то, о чем вы сообщаете, делаю. Пультики управления, оркестраторы, секвенсоры. Это - лишь первичная цель чтобы перейти далее - к автономному поведению робота. Но полностью автономное поведение пока сильно в тумане, поэтому задача такая: нужно переходить на как можно более абстрактное управление. А для этого нужно, чтобы робот мог многое уметь делать без наших подробных инструкций. И мир окружающий не мы, а сам робот мог в своих мозгах моделировать. Вот в чем суть.
--Ну я же должен ответить, да? Ничего нового (хотя я не Воррал, я вначале читаю) я не увидел, если вам снова удастся втюхать америкосам что-то - поздравляю. А то что схема у вас недокуренная, это я вам говорю не как человек много в электроннике разбирающийся, а как челове много книг по психологии перечитавший.
2Snable: отвечу честно, что с URBI я почти не знаком. Я лишь высказал свою точку зрения, что общеизвестным фактом пока остается отсутствие у роботов качественного автономного поведения. Грубо говоря - у них нет души. И имеющиеся программные средства в основном - это умощненные платформы управления станками с ЧПУ,какими бы изощренными они ни были.
Виктор Казаринов писал(а):отвечу честно, что с URBI я почти не знаком. Я лишь высказал свою точку зрения, что общеизвестным фактом пока остается отсутствие у роботов качественного автономного поведения.
Так познакомьтесь. Для начала вот это посмотрите:
Можете даже создать программные драйвера для URBI на какие-нить OR-модули, например, и пробовать "ваши онтологии" на реальной платформе.
З.Ы.: Про душу - это в философию ИИ. Или в крейзи проджектс.
Это моя ошибка - привнесение нетехнических терминов. Я совсем забыл, что многих на шелезячном форуме это просто вводит в ступор. Хотя я с паяльником лет 40 на "ты". Но проблема в автономном рациональном поведении роботов остается и ее нужно решать. Уважаемая администрация форума сама решит в какую каталажку сжать мои темы.
Виктор Казаринов писал(а):Это моя ошибка - привнесение нетехнических терминов...
Мне кажется, что проблема не в этом... Проблема в _технических_ терминах и в отсутствии конкретики. Посмотрите на вашу "общую структурную схему" - из нее убрать слово "робот" и под нее подойдет практически любая распределенная система... То есть любая буквально от кошки (ну разве что интерфейс у нее не браузерный) до какой-нибудь пожаро-охранной системы гостиницы, от гугль-мэпс до моей домашней локальной сети, от сотового телефона до районной радиосети... А когда вас просят объяснить, чем же конкретно занимается например ядро, чем ваша схема отличается от тысяч других, то получают ответ типа "ядро ядрит" и "компоненты обменивается языком запросов"...
Это все рано, что сказать: "Тут у нея неонка, а тут думатель. Он думает."
Такие схемы наверное классно втыкать в бизнес-планы для инвесторов или докторские диссертации по философии - термины настолько абстрактны, что практически уже ничего не означают...
Я прекрасно понимаю, что с объяснением _могут_ быть проблемы - это дело индивидуальное. Мне зачастую тоже проще самому сделать, чем рассказать кому-то, или объяснить почему так... особенно, когда общаешься с таким разнородным и аморфным сообществом, как здесь на форуме. Значит можно как-то определиться с терминами, конкретизировать задачи, привести примеры еще масса возможностей - а у вас все кончается почему-то флудом...