Я столкнулся с рядом трудностей при создании автономной программной платформы AIAssistant. Основная из них - это довольно большая база знаний. Это нехорошо и при распространении программы как обычного пользовательского приложения, так и встраиваемого/настольного приложения для управления роботом. Сейчас мне кажется, что интересным решением может стать создание единой клиент-серверной платформы, централизованно обслуживающей с помощью толстеньких клиентов (программ, работающих на клиентской стороне).
Клиенты должны выполнять следующие функции: 1. Обеспечивать связь - свою и сервера с оборудованием с помощью программных подключаемых драйверов. 2. Обеспечивать ресурсоемкие первичные вычисления. К таким вычислениям я отношу в первую очередь обработку изображений до требуемой степени абстракции, с которыми работает сервер. 3. Обеспечивать быструю примитивную автономную реакцию системы (рефлексы), т.к. роботы работают в реальном времени и критическим является время реакции. Возможно, что такая автономность не потребуется. 4. Обеспечивать свою связь с удаленным сервером. 5...
Сервер должен выполнять следующие функции: 1. Служить единым хранилищем опыта роботов. 2. Выполнять все главные информационные функции жизнедеятельности робота. 3...
Вот такая приблизительно мысль. М.б. кому-то она интересна? Хотелось бы с кем-нибудь тнад такой платформой поработать совместно. Условия можно обсудить. Но сейчас в первую очередь нужно саму идею распределенного роботостроения обсудить.
Вложения
Общая структурная схема проекта AIGOD
Последний раз редактировалось Виктор Казаринов 01 авг 2010, 08:36, всего редактировалось 1 раз.
Полочки, да не те. Если проводить аналогию с живым, то воспользуюсь старыми примерами. Кошки или собаки хорошо обрабатывают зрительную информацию, хорошо ориентируются в окружающем мире. Но во время тысячелетней эволюции в природе не было автомобилей. И мозг животных не записал на генетическом уровне инстинктивное поведение в случае перехода дороги. А левое полушарие, отвечающее за абстрактное мышление и усвоение текущей информации с целью учета этого опыта у собак и кошек недоразвито. В итоге все происходит просто и печально. Животное гибнет под колесам автомобилей, а другие рядом находящиеся животные этот наблюдаемый урок не усваивают в требуемой мере. Так что полочек еще очень много и по всем разложить - титанический труд.
Виктор Казаринов писал(а):Вы не ставили никакой задачи мне. Вы задавали загадку. Я как мог, ее разгадывал. Философия ли это - решать вам.
Именно. И вы это делаете настолько не логично и не умело. Что не приходиться сомневаться, почему вы заместо конкретики, которую выбирает любой инженер, работающий с роботами. Выбираете для себя утопичные, не обоснованные и никому не нужные задачи. Вас на это пытаются навести все, но вы их не слышите. Вам не нужны их мысли, потому вам главное не решить задачу, а пофилосовствовать на пространные темы. Именно из-за этого вы любите проводить время на абсолютно бесполезных для технарей форумы по обсуждению интеллекта. И здесь уже было столько тем открытых вами и нигде нет результата, который был бы виден в программном обеспечении. Заместо этого вы открываете ещё одну тему. Которую ждёт та же участь.
Последний раз редактировалось Vorral 30 июл 2010, 13:00, всего редактировалось 1 раз.
2Vorall: вам не нравится, отойдите тихонько в сторону, и не следует переходить на личности и громко наезжать на непонравившегося лично вам кого-то. Это никогда к конструктивному решению задач не приводило. Если никому на данном форуме мои соображения не покажутся востребованными, тема тихо сама умрет. Однако это ни в коей мере не остановит моей работы над онтологической тематикой, так нелюбимой почему-то вами. Я и не собираюсь ее вам навязывать. Вы можете связно сообщить мне и чтобы остальные поняли, что именно вам в идее, предложенной мною не нравится и почему?
>Однако это ни в коей мере не остановит моей работы над онтологической тематикой, так нелюбимой почему-то вами. Всё наоборот, онтология несомненно будет присутствовать в моём роботе. Роботу, нужна "память" как и человеку. Дело в другом. Но не буду объяснять, это бесполезно. Воспользуюсь советом отойти в сторонку, уж очень привлекательное и рациональное предложение
Странно, вы сами на себя не похожи. Быстро остыли и отошли в сторонку. Типа я сам знаю что-то но никому не скажу. Пусть сильно попросят. Хозяин-барин. У кого-нибудь еще есть какие-то вопросы и предложения?
Идея клиент-сервер правильная Прочитав по диагоналии тему мне кажется что это развитие идеи умного дома на мобильную платформу выносятся датчики и исполнительные механизмы, а интеллектуальную деятельность выполняет центральный сервер. Всё очень логично, я готов учавствовать в проекте, всё равно он назревает как логическое продолжение изучения mini2440
Идея то правильная, но сама по себе идея не нова, и главное - не даёт возможности двигаться дальше. Надо конкретные задачи на которых смотреть конкретные решения. А задач пока нету. Будут задачи - можно будет о чем-то говорить.
Насколько я помню, клиент-серверные технологии (не в распределённой сети, а в одном компьютере.... мне предлагали как замену моей бредовой идее о использовании виртуальных СОМ-портов, для взаимодействия между программами). Вся прелесть предложенных решений была не только в скорости обмена но и возможности разнести отдельные компоненты, на достаточно большие растояния... Как альтернатива (реально существующего решения) предлагалась ROS... в чём её недостаток для ваших целей Виктор?
setar писал(а):Всё очень логично, я готов учавствовать в проекте, всё равно он назревает как логическое продолжение изучения mini2440
Большое спасибо за положительный отклик! Я кроме онтологий еще предлагал довольно давно иерархию агентов от самых элементарных до больших, включающих в себя множество субагентов. В качестве таких агентов можно рассматривать и роботов и отдельные самостоятельные их части. Аналогично внутри сервера могут быть также субагенты, элементарные мыслящие сущность, субъекты. Сеть серверных агентов и периферийных агентов, чатным случаем которых являются роботы, я бы и хотел совместно с кем-дибо построить. Маленькие бортовые компьютеры роботов - неплохие периферийные агенты должны из них получаться.
Слегка познакомившись с системой G2 фирмы Gensym я решил остановиться на аналогичных им инструменатльных средствах - линуксоидный сервер, язык Common LISP, компилятор SBCL. Вот, нашел какие-то тесты на производительность. http://shootout.alioth.debian.org/u32/lisp.php м.б. кто-то их пояснит по-простому - итого что да как? Насколько SBCL медленнее JAVA? Есть другие предложения?
Я на кухонном серваке запустил Ubuntu, у меня есть давно купленное доменное имя aigod.com, теперь предстоит много трудной работы чтобы чего-то простейшего добиться. М.б. кто-то сможет быть подопытным кроликом? Точнее его робот? Хотя у меня есть свой и я его наверное использую для разработки системы, но хотелось бы, чтобы эту часть работы взял на себя кто-то другой, т.к. мне всего сразу не осилить. Нужно, чтобы владелец такого робота совместно с разработчиками серверной части (пока я один) написал хотя бы простейшую клиентскую часть, функционирующую в компьютере робота - мобильном или стационарном - без разницы. Если найдутся желающие, я на том же кухонном серваке SVN для этого проекта открою. Тогда можно будет совместно делать серверную часть. Вид лицензии тоже нужно заранее принять, чтобы потом это не мешало в работе
vadinator писал(а):.... мне предлагали как замену моей бредовой идее о использовании виртуальных СОМ-портов, для взаимодействия между программами). ...
По моему TCP соединения более подходят для таких целей Ну или OLE/ActiveX/COM/.Net components...
Я изобразил графически и разместил в заголовке темы общую стркутурную схему того, что задумал реализовать. Много чего еще нужно придумывать даже для обобщенного представления работы системы, но можно уже сейчас определиться с наиболее важными компонентами. Для взаимодействия всех частей системы AIGOD - как серверных, так и клиентских между собой а также клиентских с серверными собираюсь использовать язык RoboBrain_Interchange_Language: wiki/RoboBrain_Interchange_Language в бинарной или текстовой нотации.
Из схемы видно, что AIGOD - это более широкая система, чем чисто робоплатформа, т.к. должна обеспечивать взаимодействие еще и непосредственно с пользователями. Это позволит пользователям не только управлять роботами на различных уровнях абстракции от управления каким - либо приводом или получением показаний какого-либо датчика, но и давать команды высокого уровня (сделать что-то, например, принести нужный предмет). Кроме того, пользоваетели смогут воспользоваться знаниями и умениями самого AIGOD для решения своих интеллектуальных или информационных задач. Например, получить ответы на различные вопросы.