Технический форум по робототехнике.
DrZugrik » 17 окт 2007, 15:38
Спасибо за генетические алгоритмы, посмотрю...
Ну вот. наконец то чтото конструктивное и дельное, а то только от философии уже уши вянут
Интересно, а можно ставиь только маленькие и легко достижимые цели или можно будет сделать (в будущем), чтото типо иерархии целей, или чтобы устройство, на основе полученной информаии само строило промежуточные цели : отличать свет от тени - ... - научиться ходить. Например на начальном этапе оно будет ставить себе целью поиск источника света / опимальной температуры, а потом уже оптимальный вриант передвижеия и т.д.
- Вложения
-
- Примерный вариант устройства робота
Myp » 17 окт 2007, 16:04
чтобы чёто искать нужно научится ползать =)
так что полюбасу нуно сначало научится передвигатся =)
а для этого нужна обратная связь...
Master » 17 окт 2007, 17:27
Это все слова. Вот мне сосед рассказывал что у его брата знакомый видел по телек. Это все конечно хорошо, но если просто поговорить то нада ити в тему про философию, а если по существу, то нада код или кусок кода, или алгоритм.
SSG » 17 окт 2007, 18:11
Не удаляться от размышлений не стоит, т.к. что интересно, чем ближе мы к железу-софту, тем больше мы должны рассуждать.
Вот к примеру. Есть у Вас робот, которого Вы хотите научить отличать свет от тени. Предположим, что опознание света он должен индицировать зажиганием
зеленого светодиода, а тени - зажиганием более другого
красного светодида.
Входной световой поток подается на фотодетектор, позволяющий измерить напряжение на его выходе. А что между ними? Как Вы собираетесь реализовать опознание?
Как хотите научить связывать событие высокого напряжения на выходе детектора с необходимость включить светодиод и именно зеленый, а не красный?
SSG » 17 окт 2007, 18:26
Короче мое пессимистичное мнение - ничего получится. Все изменения в конструкцию (тело) и программу (алгоритм поведения) будете вносить Вы - своим актом Творца
И удовольствия от этого получите немало!
lebaon » 17 окт 2007, 18:48
SSG » 17 окт 2007, 19:07
lebaon писал(а):по этим материалам можно сразу исходник писать
Исходник чего?
Я не отрицаю того, что генетические алгоритмы хорошо решают задачи, а нейронные сети можно научить распознавать образы. Только от этого до эволюции и искусственного интеллекта - пропасть.
Пока не преодолимая. И вопрос - преодолимая ли вообще.
Можно убедительно имитировать поведение живого организма (реализовав раздражимость в простом случае), но чтоб создать его растущее, воспроизводящее себе подобных, развивающееся, приспосабливающееся, обучающееся и уж тем более мыслящее подобие этого животного организма у человека пока кишка тонка.
DrZugrik » 17 окт 2007, 19:29
Я не говорил про то, чтобы тутже, сходу писать искусственный интеллект. Я говорил о том, чтобы повторить (попытаться повторить) эволюцию в масштабах кибернетического организма. Читал я про математические модела аминокислот, сложных органических соединений и прочих химических мудростей. Но все эти аминокислоты не имеют "тела", у них нет "глаз" и т.д. по сути - это малекула-рефлекс, которая может просто реагировать на что-то одним определённым действием, которое в неё уже заложено. Если рассматривать техническую сторону - как я уже говорил, такие приборы были ещё на заре электроники - фотореле, термореле и т.д. А чтобы опять не заводить дело в философию предлагаю начать действовать.
1. Берём типовую модель робота с контроллером, фото- и термо- датчиком (пока я думаю хватит), ставим схему на колёса, добавляем EEPROM / карту памяти (карта наверное предпочтительней)
2. Пишем алгорит поведения простейшего автотрофа (бактерия, большую часть жизни ищет свет, т.к. питается фотосинтезом, и подбирает себе оптимальные условия для размножения).
3. Переводим алгоритм в программный код, добавляем возможность учиться на своих ошибках. Например задаем предел температур (+15...+25), выход за которые будет считаться губительным, или допустимым на короткое время (3-5 минут), тогда например если робот будет замечать приближение к пороговой температуре, он будет избегать таких мест. Тоже самое можно сделать и с освящением - пока батареи полные - ползай где хочешь и где подходящая температура, но когда остается 10% энергии - ищи свет. / можно будет потом добавить солнечные батареи, для большей убедительности /
дай Бог закончу наконец в ближайшее время схему с шаговиками и буду приступать к воплощению, а пока изучаю теорию
lebaon » 17 окт 2007, 19:35
ее, хоть кто ни будь ссылки читал?
там про управление самообучающимися нейросетями есть!
DrZugrik » 17 окт 2007, 19:42
2lebaon
за ссылки спасибо. ещё нашёл вот эти книжецы, хочу гденибудь найти почитать, вродебы многообещающие:
"Эволюция.Нейронные сети.Интеллект" В.Г.Редько
"Введение в искусственный интеллект" Л.Н.Ясницкий
"Нейронные сети и их применение в системах управления и связи" В.И.Комашинский Д.А.Смирнов
"Программирование искусственного интеллекта в приложениях" М.Тим Джонс
"От моделей поведения к искуственному интеллекту" В.Г.Редько
Master » 17 окт 2007, 20:32
Ссылки пока не читал, но по поводу бактерий я не уверен что они обладают интелектом и в чем именно будет заключаться самообучение робота идущего на свет, ведь это жестко зашито в его программе, что именно он будет записывать в EEPROM?
П.С. не посчитайте меня скептиком тема для меня действительно интересна, но пока я не вижу хоть какого-нибудь приближения к ее реализации. Все говорят, что робот будет учиться и плоды своих познаний будет писать на карту памяти, но еще никто (я не встречал) не описал в чем именно будет заключаться этот процесс обучения и какие знания о будет запоминать.
П.П.С. лично мне кажется, что это запоминать нужно некоторые улсовия if-else, но опять же ничего конкретного пока предложить не могу.
DrZugrik » 17 окт 2007, 23:19
Грубо говоря EEPROM/карта памяти - здесь являются "жёстким диском", в них хранится сама программа, а обучаясь робот переписывает свою собственную программу (возможно следует включить в схему робота модуль самопрограммирования). А микропроцессор будет заниматься только обработкой данных и координацией процессов записи/считывания информации из датчиков, памяти и управлением органами движения.
А вот поповоду того, что никто так не делал - вы не правы, видел когдато фильм по Культуре про робота-вертолёт, который переписывал свою программу находу в зависимости от направления ветра, угла снижения, положения посадочной площадки. Цель у него была - взлететь, полетать круг, а потом опять приземлиться с минимальным отклонением от нужного места.
А если запоминать условия ЕСЛИ-ТО опять получится рефлекторный организм... нужно внедрять нейронные сети и т.д. а то на одних условиях программа для поиска объекта или чтонибудь типа того в конечном итоге будет занимать пару гигабайт ... а это совсем далеко от искусственного интеллекта...
Согласен конечно, бактерия не обладает разумом, да и учиться ей особенно нечему, но вот отличать свет от тени, холодно-горячо, опасно-безопасно, она сможет. А это те основные вещи, которые остаются актуальными даже у нас с вами (у человеков). В конце концов, кто знает, может она выведет специальный алгорит по которому будет отличать такие противоположные понятия.
Master » 17 окт 2007, 23:27
Ну может быть, но у живых организмов есть такая фигна как стимул (боль, эндорфин), а роботу не больно.
Digit » 18 окт 2007, 00:10
Самое сложное - это определение целей\промежуточных целей. С методами достижения хоть теоретичеси понятно что делать (те же генетические алгоритмы или нейросети какие-то)
EdGull » 18 окт 2007, 06:45
Master писал(а):Ну может быть, но у живых организмов есть такая фигна как стимул (боль, эндорфин), а роботу не больно.
А что мешает поставить соответствующие датчики? Например:
- датчик тока на движек, является показателем как роботу ему тяжело его крутить.
- надутый небольшой "воздушный шарик" (напальчник) надетый на датчик давления прикрепленный с сооветсвующей строны, является показателем насколько сильно его пнули или он во что-то упирается.
и т.д.
показатели выше нормы и есть боль.