роботы робототехника микроконтроллеры


 Страниц (2): « 1 [2]   

> Описание: Чуствую себя БлОнъДыкой
kabban Post Id


Рядовой


Сообщений всего: 19
Дата рег-ции: Май 2008  



ты говорил про то что Программа технического зрения есть, а не мог бы ты ссылку дать?
 
 Top
VCOM Супермодератор Post Id



Супермодератор


Сообщений всего: 659
Дата рег-ции: Март 2007  



Ога йа этот мышкин контроллер юзал.. ADNS2051 вроде как... Вод... Дома буду пасматрю...
 
 Top
Faunbot Post Id


Рядовой


Сообщений всего: 16
Дата рег-ции: Июнь 2008  



Цитата:
...с идеями плиз...

Может быть, имеет смысл в любого робота, даже в простейшего, встраивать то, что в психологии называется привыканием ? http://www.cyclopedia.ru/86/207/2650416.html
Для фотомикроба, поворачивающегося вслед за ладонью, это может выглядеть примерно так. После нескольких поворотов за ладонью, реакция робота становится все слабей, повороты все медленней. Наступает привыкание к ладони. Если роботу дать минутку отдохнуть и не махать у него перед носом ладошкой, то реакция восстанавливается. А если не махать долго (минут 10), то он сам должен активно вступать в контакт и имитировать движения вслед за отсутствующей ладонью. Правда, это уже не привыкание.
 
 Top
VCOM Супермодератор Post Id



Супермодератор


Сообщений всего: 659
Дата рег-ции: Март 2007  



А что? Галлюциниции? Помираю со смеху
 
 Top
Faunbot Post Id


Рядовой


Сообщений всего: 16
Дата рег-ции: Июнь 2008  



Что-то непонятно? Что именно?
 
 Top
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



VCOM, наверное, про

Цитата:
имитировать движения вслед за отсутствующей ладонью. Правда, это уже не привыкание.


Мы пытались сделать максимально простую аналоговую схему без микроконтроллера для подобного поведения, в простейшем виде реализующую поведение, похожее на поведение черепашки Грея Уолтера. Но как-то более менее интересных результатов с простейшими аналоговыми BEAM-схемами пока не получилось.

Сейчас над этим время от времени размышляю. Хочется сделать, что-то очень простое и элегантное.

 
 Top
Faunbot Post Id


Рядовой


Сообщений всего: 16
Дата рег-ции: Июнь 2008  



Цитата:
имитировать движения вслед за отсутствующей ладонью.

Как собака просит продолжать игру с бросанием палки? Она смотрит на палку в руке хозяина, лает, делает короткие рывки как бы вслед брошенной палке...
Что-то подобное я пытался описать для простейшего робота.

А что можно назвать интересным результатом? Если говорить об имитации поведения животных, то нужно реализовывать различные психические механизмы: потребности, рефлексы, эмоции, возбуждение и торможение нервной системы, доминанту Ухтомского, привыкание ...

Насколько можно понять из интервью Тилдена на сайте, он аналоговым путем реализует поведение одноклеточных животных, которое, кстати, может быть очень непростым. Например, инфузория может научится плавать по контуру сосуда и потом в свободном пространстве продолжать такое движение. А вот здесь http://www.sciencemag.org/cgi/co...abstract/1154456 даже говорят о способности одноклеточных прогнозировать ситуацию.

Тилден делает роботов, которые живут сами по себе, ими не нужно управлять. Также как и животные. Значит истоки идей Тилдена нужно искать в психике. Например, в последние модификации AIBO пытались встроить эмоции. Правда, видимо, не аналоговым путем. И Уолтер пытался реализовывать у своих черепашек условный рефлекс. Наверное, это естественный путь - моделировать у роботов различные психические механизмы. До какого-то уровня сложности это можно делать аналоговым путем (примерно, до уровня одноклеточных). Но когнитивные функции (распознавание сложных образов, прогноз ситуации...) без программирования не получатся.
 
 Top
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



Цитата:
А что можно назвать интересным результатом?


Осмысленное поведение практически из ничего. Это даже не цель, а своеобразные интеллектуальные упражнения. И когда удается сделать интересное схемное решение, через несколько дней начинаешь к нему привыкать и оно уже не кажется таким интересным. Чистая субъективность.

Цитата:
Если говорить об имитации поведения животных, то нужно реализовывать различные психические механизмы


Вот тут очень интересный момент - имитировать поведение или реализовывать психические механизмы.


Цитата:
о способности одноклеточных прогнозировать ситуацию.


Прочитал заметку, но из нее мало, что можно понять. Сама статья-то закрыта.


Цитата:
Значит истоки идей Тилдена нужно искать в психике.


Истоки идей Тилдена, наверное, стоит искать у Родни Брукса.

http://en.wikipedia.org/wiki/Rodney_Brooks

http://en.wikipedia.org/wiki/Beh...r-based_robotics

http://en.wikipedia.org/wiki/Biomorphic_robotics

Цитата:
Наверное, это естественный путь - моделировать у роботов различные психические механизмы.


ОдобряюТащусь

Цитата:
Но когнитивные функции (распознавание сложных образов, прогноз ситуации...) без программирования не получатся.


Если схемы на ПЛИС не рассматривать как программирование, то вполне может получиться.
 
 Top
Faunbot Post Id


Рядовой


Сообщений всего: 16
Дата рег-ции: Июнь 2008  



Цитата:
Brooks has focused on biologically-inspired robotic architectures

Хотя из интервью Тилдена и из статьи Брукса http://www.liralab.it/teaching/R.../brooks.1990.pdf видно, что они не слишком хорошо знают психологию, тем не менее какие-то общие психологические принципы они используют.
Например, робот Toto (см. статью Брукса) умеет ориентироваться в пространстве по разновидности компаса и умеет строить в своей памяти карты местности (в психологии это называется когнитивной картой). С помощью компаса и карты он может огибать препятствия. Примерно так действует человек. Это очень психологичная схема управления поведением.
Но препятствия может огибать и червяк, который, скорее всего, карты местности строить не умеет. Т.е. есть несколько различных психологических механизмов, которые могут решать одну и ту же задачу.

Многие начиная с Уолтера встраивают в робота способность огибать препятствия. Наверное, можно придумать множество различных алгоритмов этого процесса. И наверное, было бы любопытным описать те алгоритмы, которые используют животные (как минимум два различных) и сравнить насколько они хуже оптимального.

Но эта задача слишком проста и не требует сложной психики (как у Toto). Ее можно решить аналоговым путем, как у червяка. А вот как человекообразному роботу реагировать на незнакомого человека, который слишком приблизился без видимых причин? Даже если выбирать из двух вариантов - удалиться (страх) или агрессивно приблизиться (гнев), то выбор должен основываться на предыдущем опыте контаков, оптимальный вариант тут трудно определить, и без эмоций, скорее всего, не обойтись.

А насчет "осмысленного" поведения простейших роботов...Тут тоже можно взять за образец поведение животных. Скажем, домашний пес ведет себя осмысленно? А чем он занимается, если понаблюдать? Почесался, поел, поиграл с хозяином, поспал. Всем этим видам поведения можно придумать какие-то аналоги у робота.
 
 Top
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



Цитата:
Хотя из интервью Тилдена и из статьи Брукса http://www.liralab.it/teaching/R.../brooks.1990.pdf видно, что они не слишком хорошо знают психологию


А из каких их слов это видно?

Цитата:
Т.е. есть несколько различных психологических механизмов, которые могут решать одну и ту же задачу.


Что-то я запутался... О каких механизмах идет речь - о психических или психологических?

Цитата:
И наверное, было бы любопытным описать те алгоритмы, которые используют животные (как минимум два различных) и сравнить насколько они хуже оптимального.


Знать бы еще: какой он - этот "Оптимальный алгоритм" Улыбка

Цитата:
А насчет "осмысленного" поведения простейших роботов...Тут тоже можно взять за образец поведение животных. Скажем, домашний пес ведет себя осмысленно? А чем он занимается, если понаблюдать? Почесался, поел, поиграл с хозяином, поспал. Всем этим видам поведения можно придумать какие-то аналоги у робота.


Вопрос: как взять, что из поведения взять и как реализовать? И как не выйти за ту грань, когда это уже будет совсем не простейший робот? И стоит ли что-то брать? В некоторых случаях нелийнейный осциллятор может дать имитацию очень "осмысленного" поведения.

Вот опять и всплывает вопрос - реализовывать поведенческие механизмы или имитировать их.
 
 Top
Faunbot Post Id


Рядовой


Сообщений всего: 16
Дата рег-ции: Июнь 2008  



Это видно, скорее, из отсутствия нужных слов. Впрочем, тут нет ничего обидного для Тилдена и Брукса. Конструктору роботов не обязательно знать психологию. Это знание понадобится только при попытке встроить в робота психику. А именно это, кажется, пытались создатели AIBO.

Цитата:
о психических или психологических?

А в чем разница? Я сейчас использую эти слова как синонимы. Если Вы вкладываете в них разный смысл, то объясните какой. Я буду делать так же.
Цитата:
какой он - этот "Оптимальный алгоритм

Так очевидно же.Оптимальный алгоритм огибания препятствия состоит из движения по прямой из точки нахождения животного к ближайшему краю препятствия, а затем от края к целевой точке. Правда, это при наличии полной информации о препятствии. Но человек, даже при наличии полной информации не всегда следует оптимальному алгоритму.

Цитата:
что из поведения взять и как реализовать? И как не выйти за ту грань, когда это уже будет совсем не простейший робот? И стоит ли что-то брать? В некоторых случаях нелийнейный осциллятор может дать имитацию очень "осмысленного" поведения.

Мне не понятно почему Вы хотите делать только простейших роботов? При этом трудно расчитывать сделать что-то сложнее робота-пылесоса. И что значит "простейший" робот? Аналоговый без программирования как у Тилдена? Но даже примитивные рефлексы у животных (правда, не все) это уже программирование. Аналоговым путем без использования памяти и распознавания образов можно реализовать только простые рефлексы типа моргания или чихания. Граница между психикой и ее отсутствием проходит, примерно, по условному рефлексу. Это уже невозможно без памяти и распознавания образов.

То, что таинственно звучит как "психика" и "осмысленное поведение" должно иметь простые физические модели типа осциллятора. Например, во второй части вот этой статьи http://www.math.tau.ac.il/~ybenj...i_BIOLCYBERN.pdf делается попытка построить модель движения крысы в терминах потенциала поля и т.п. Кстати, движение крысы в этих экспериментах очень напоминает колебания нелинейного осциллятора.

Цитата:
реализовывать поведенческие механизмы или имитировать их.

Если я правильно понял вопрос, то все попытки встраивать в роботов психические механизмы были их имитацией, поскольку не использовали знаний современной науки о поведении. Так?
Грей Уолтер встраивал в своих черепашек условный рефлекс. Это реализация или имитация?
 
 Top
mozg Post Id


Рядовой


Сообщений всего: 16
Дата рег-ции: Июнь 2008  



Задача - комбинированная. могу описать как реализовать математическую часть на протых и понятных примерах.

Искусственный интеллект, генетические алгоритмы, нейронные сети, универсальные решатели и прочая радость с заумными названии базируются на одном принципе - задачах оптимизации которые формулируются так:

подобрать такие коэффициенты чтобы что-то было минимальным (не придирайтесь пытаюсь объяснять так чтобы понятно было упуская кое-какие "детали"Подмигивающий

Рассмотрим очень простую задачу. Допустим мы хотим научить наш искусственный интеллект научить считать мат ожидание двух чисел (тема далёкая от робототехники но для начала - сгодится.)

Наш ИИ - это чёрный я щик со входами и выходами (2 входа, 1 выход в данном случае) который работает в двух режимах - обучение и "работа".

В режиме обучения на входы и на выходы подаются значения из матрицы где с каждой строке - 3 значения - x1, x2, y. иксы - входы, игрик - выход, например:
x1=1 x2=2 y=1.5
2 6 4

Обучение - это подбор системы уравнений и коэффициентов этой системы для того чтобы обеспечить минимальное отклонение предсказываемого этой системой выходного значения (из входных) и подаваемого выходного значения.

Скажем тут можно пойти двумя путями - мега крутым и сложным и лёгким с готовыми решениями (правильным). Для мазохистов-любителей (как я) могу в деталях описать мегакрутой и сложный но продолжу я простым

Простой способ - не подбирать динамически систему уравнений а составлять её для каждой задачи вручную, или брать систему уравнений которая заранее гарантировано будет достаточно большй для описания системы.

Рассмотрим линейную систему уравнений (заранее большую чем нужно):

Y = k1 + k2*x1+ k3*x1^2 + k4*x2 + k5*x2^2

Задача оптимизации для неё: найти такие k1...k5, чтобы сумма квадратов разностей между предстазываемими значениями y и подаваемыми в процессе обучения была минимальной.

Соответственно процесс обучения - это процесс поиска коэффициентов.

Следующий шаг - устанавливаем MATLAB, лезем в help и набираем "fminsearch". Это - суперпупер функция специально предназначенная для этих целей.

http://www.mathworks.com...

тут ещё не сильно сложный пример
http://mozg3d.com/mm.htm

Может потратите вы часа 3 вкуривая как это работает но когда врубитесь жизнь покажется сказкой, т.к. эта штука умеет решать совершенно любые задачи (главное - понять как их сформулировать). Одна только с ней проблема - считает долго, особенно когда коэффициентов много реально можно рассчитывать на 8-10 коэффициентов (в отличии от мегакрутого метода)

m-file я сейчас не напишу, т.к. matlab не под рукой. Но для данного примера - это - очень просто.

Чем больше обучающая таблица, тем точнее будут коэффициэнты и в идеале вы получите Y=0.5*x1+0.5*x2.

Ещё раз: мы хотим чтобы подобрались такие коэффициенты чтобы сумма квадратов разностей между Значеинями Y-ков из обучающей таблицы и значениями Y-ков предсказываемых нашим уравнением было минимальным.

Тоесть обучающую таблицу из строкГрустныйx1 x2 y)
пишите функцию (отдельным файлом) которая считает сумму укадрвтов разностей на основе подаваемых в неё коэффициентов и говорите функции fminsearch что вы хотите найти такие коэффициенты чтобы выходное значение вашей функции (сумма квадратов разностей) была минимальна.

Если совсем - никак, то напишу функцию.
----------

Поняв это и написав соответствующий код можно перейти к примеру из робототехники.

Допустим у нас есть серва к лапке которой привешен датчик освещённости и лампочка есть где-то в стороне.

Мы хотим чтобы наш робот - серва с датчиком научился поворачиваться на свет.

Сформулируем нашу задачу "математически"
Найти такой угол поворота сервы чтобы разница между большим числом и значением с датчика была минимальной.

Связываем matlab с контроллером на нашем роботе (это уж вы сами как-нибудь)
контроллер выдаёт одно значение - разницу между большим произвольным числом и уровнем освещённости (разница нам нужна потому что мы минимизируем).
Запускаем fminserach, который ссылается на функцию которая связывается с контроллером. и fminsearch начинает поиск. дальше по шагам.
fminsearch берёт некоторое число от балды (не совсе так) допустим 30 градусов. и спрашивает у функции (которая всязывается с контроллером) - сколько?. Эта функция говорит контроллеру робота - поверни серву в положение 30 градусов. контроллер делает что сказано и считывает значение с датчика освещённости,отдаёт разницу между этим значением и большим числом нашей функции а та в свою очередь функции fminsearch.
Это - одна итерация.

Дльше fminsearch по какому-то своему внутреннему алгоритму (методу Нелдера-Мида если умничать) делает запрос за запросом с разными углами, которые потихоньку скатываются к тому углу при котором разница между большим числом и освещённостью будет минимальной.

"скатывается" в данном случае образно значит что капелька падает на многомерную поверхность (двумерную похожую на параболу в нашем случае) и скатывается в её минимум.

Теперь немного это доработать и ваш паук будет идти на свет, или убегать от него.

Это сделать достаточно сложно.
Если уж совсем заморачиваться и делать так чтобы паука можно было научить делать всё что угодно (чтобы он был обучаемый) без программирования то тут может понадобится адаптирующаяся система уравнений (не обязательно). но если её использовать, то это уже будет настоящий искуственный интеллект.

Выглядеть это будет примерно так:
хотим мы паука всего обвешанного датчиками научить свет выклучать по хлопку в ладоши.
Переводим паука в режим обучения (не обязательно) хлопаем в ладоши, нажимаем на лапку которая свет выключает. повторяем это пару сотен раз, выключаем режим обучения, хлопаем в ладоши, паук выключает свет. (так умные дома - хорошо делать)
 
 Top
digger Администратор Post Id



Администратор


Сообщений всего: 372
Дата рег-ции: Май 2006  



Поправил текст ссылки, а то он уж больно длинный был.
 
 Top
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



to Faunbot

Цитата:
Это видно, скорее, из отсутствия нужных слов. Впрочем, тут нет ничего обидного для Тилдена и Брукса. Конструктору роботов не обязательно знать психологию. Это знание понадобится только при попытке встроить в робота психику. А именно это, кажется, пытались создатели AIBO.


Думаю, Родни Брукс продвинулся в этой области гораздо дальше создателей Айбо. Взять, к примеру, проекты, выполненные под его руководством в MIT.

Робот Nexi способен адекватно вы ражать эмоции

KISMET

А то, что Тилдени и Брукс аккуратно обращаются с терминами, так они люди науки. Улыбка

Психология и психика только в просторечии синонимичны.

Цитата:
Оптимальный алгоритм огибания препятствия состоит из движения по прямой из точки нахождения животного к ближайшему краю препятствия, а затем от края к целевой точке.


Это больше похоже не на алгоритм, а на описание оптимальной траектории движения.

Цитата:
Мне не понятно почему Вы хотите делать только простейших роботов?


Это не желание. Это первоочередная необходимость. Центральный раздел сайта myROBOT - "Шаг за шагом" - про создание простых роботов. Этот раздел надо расширять.

Цитата:
Аналоговым путем без использования памяти и распознавания образов можно реализовать только простые рефлексы типа моргания или чихания.


Ну почему же? Использование конденсаторов в сочетании с диодами и инверторами (все в аналоговом режиме), может дать и простую память и достаточно сложные рефлексы.

Цитата:
Так?
Грей Уолтер встраивал в своих черепашек условный рефлекс. Это реализация или имитация?


У Грея Уолтера вообще стояла лишь задача имитации поведения. Но условные рефлексы он безусловно реализовывал.


 
 Top
Страниц (2): « 1 [2]
« Программирование микроконтроллеров »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru