Строим B.E.A.M.-робота

Автор Catcatcat, 21-07-2011, 14:50:05

« предыдущая - следующая »

0 Пользователей и 1 гость просматривают эту тему.

Catcatcat

Автор - Digital

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

Создание BEAM-роботов - это не просто технологический процесс или увлекательное хобби. BEAM - это целая культура, со своей философией, эстетикой и широчайшими возможностями для творчества. Есть люди, считающие BEAM-роботов не просто культовым явлением, но своего рода религией. Отчасти это так. Хотя, если говорить о BEAM с точки зрения робототехники, то можно со всеми основаниями утверждать, что идея BEAM является новой технологической и философской парадигмой в современной робототехнике.

BEAM-робототехника родилась в 1989 году в тот момент, когда 10 ноября в Лаборатории MFCF Hardware университета Waterloo Марком Тилденом (Mark W. Tilden) был создан простой BEAM-робот класса solaroller. За 20 минут, находясь под лучами солнечного света, робот смог преодолеть дистанцию в 15 сантиметров.

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

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

Biolоgy (Биология),
Electronics (Электроника),
Aesthetics (Эстетика),
Mechanics (Механика).

Определим основные категории роботов по своим функциям, не опираясь на BEAM технологии:
1. Автономные роботы поведение которых определяется наличием сенсоров.
2. Автономные роботы поведение которых определяется программой (микропроцессорные).
3. Удаленно контролируемые человеком, зонды, шпионы.
4. Боевые/спортивные роботы: сумо, футбол, ралли, другие виды соревнований.
5. Манипуляторы – роботы типа «рука».
6. Эстетичные роботы – скорее область искусства, чем кибернетики.
7. Роботы не выполняющие рациональных функций – фенечки.

BEAM-роботы, в отличие от обычных роботов, основанных на цифровой технологии и микропроцессорах, создаются по аналоговым схемам. Вместо дискретной программы поведение роботов задается аналоговыми нейронными цепями, способными гибко выбирать путь обхода препятствий и реагировать на окружающий мир.

Аналоговая система
Система, которая использует информацию, представленную посредством непрерывно изменяющихся величин.

Цифровая система
Система, которая использует информацию, представленную посредством дискретно (скачкообразно) изменяющихся величин.

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

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

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

Catcatcat

Автор - Digital

Простейшего BEAM робота (знаю, "робот" это громко сказано) с минимальными затратами.

Для управления двигателями робота необходимо устройство, которое бы преобразовывало управляющие сигналы малой мощности в токи, достаточные для управления моторами. Такое устройство называют драйвером двигателей.

Существует достаточно много самых различных схем для управления электродвигателями. Они различаются как мощностью, так и элементной базой, на основе которой они выполнены.

Мы остановимся на самом простом драйвере управления двигателями, выполненном в виде полностью готовой к работе микросхемы. Эта микросхема называется L293D и является одной из самых распространенных микросхем, предназначенных для этой цели.

L293D содержит сразу два драйвера для управления электродвигателями небольшой мощности (четыре независимых канала, объединенных в две пары). Имеет две пары входов для управляющих сигналов и две пары выходов для подключения электромоторов. Кроме того, у L293D есть два входа для включения каждого из драйверов. Эти входы используются для управления скоростью вращения электромоторов с помощью широтно модулированного сигнала (ШИМ).
Подробности можно узнать здесь: www.youtube.com/watch?v=Lu3N7padSFs

продолжение следует...

Catcatcat

21-07-2011, 14:51:32 #2 Последнее редактирование: 21-07-2011, 14:54:34 от Catcatcat
Автор - Digital

Сделать робота можно, используя лишь одну микросхему драйвера моторов и пару фотоэлементов. В зависимости от способа соединения моторов, микросхемы и фотоэлементов робот будет двигаться на свет или, наоборот, прятаться в темноту, бежать вперед в поисках света или пятиться, как крот, назад. Если добавить в схему робота пару ярких светодиодов, то можно добиться, чтобы он бегал за рукой и даже следовал по темной или светлой линии.

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

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

В устройстве робота, кроме микросхемы драйвера моторов L293D, будет использоваться только один фотоэлемент и один электромотор. В качестве фотоэлемента можно применить не только фототранзистор, но и фотодиод или фоторезистор.
В конструкции робота мы используем фототранзистор n-p-n структуры в качестве фотосенсора. Фототранзисторы на сегодняшний день являются, пожалуй, одним из самых распространенных видов оптоэлектронных приборов и отличаются хорошей чувствительностью и вполне приемлемой ценой.


На рисунке приведены монтажная и принципиальная схемы робота, и если Вы еще не очень хорошо знакомы с условными обозначениями, то, исходя из двух схем, несложно понять принцип обозначения и соединения элементов. Провод, соединяющий различные части схемы с "землей" (отрицательным полюсом источника питания), обычно не изображают полностью, а на схеме рисуют небольшую черточку, обозначающую, что это место соединяется с "землей". Иногда рядом с такой черточкой пишут три буквы "GND", что означает "землю" (ground). Vcc обозначает соединение с положительным полюсом источника питания. Вместо букв Vcc часто пишут +5V, показывая тем самым напряжение источника питания.


У фототранзистора эмиттер
(на схеме со стрелкой)
длиннее коллектора.


Принцип действия схемы робота очень простой. Когда на фототранзистор PTR1 упадет луч света, то на входе INPUT1 микросхемы драйвера двигателей появится положительный сигнал и мотор M1 начнет вращаться. Когда фототранзистор перестанут освещать, сигнал на входе INPUT1 исчезнет, мотор перестанет вращаться и робот остановится.

Чтобы скомпенсировать проходящий через фототранзистор ток, в схему введен резистор R1, номинал которого можно выбрать около 200 Ом. От номинала резистора R1 будет зависеть не только нормальная работа фототранзистора, но и чувствительность робота. Если сопротивление резистора будет большим, то робот будет реагировать только на очень яркий свет, если - небольшим, то чувствительность будет более высокой. В любом случае не следует использовать резистор с сопротивлением менее 100 Ом, чтобы предохранить фототранзистор от перегрева и выхода из строя.


Сделать робота, реализующего реакцию фототаксиса (направленного движения к свету или от света), можно с использованием двух фотосенсоров.

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

Принципиальная схема робота с двумя фототранзисторами

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

Монтажная схема простейшего робота с двумя фототранзисторами



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

Сделать поведение робота более живым можно, подав на входы INPUT2 и INPUT3 положительный сигнал (подключить их к плюсу источника питания): робот будет двигаться при отсутствии падающего на фотосенсоры света, а "увидев" свет, будет поворачивать в сторону его источника.

Чтобы сделать робота, "бегающего" за рукой, нам понадобятся два ярких светодиода (на схеме LED1 и LED2). Подключим их через резисторы R1 и R4, чтобы скомпенсировать протекающий через них ток и предохранить от выхода из строя. Расположим светодиоды рядом с фотосенсорами, направив их свет в ту же сторону, в которую ориентированы фотосенсоры, и уберем сигнал с входов INPUT2 и INPUT3.

Схема робота, движущегося на отраженный свет

Задача получившегося робота - реагировать на отраженный свет, который излучают светодиоды. Включим робота и поставим ладонь перед одним из фотосенсоров. Робот повернет в сторону ладони. Переместим ладонь немного в сторону так, чтобы она скрылась из поля "зрения" одного из фотосенсоров, в ответ робот послушно, как собачка, повернет за ладонью.
Светодиоды следует подбирать достаточно яркие, чтобы отраженный свет устойчиво улавливался фототранзисторами. Хороших результатов можно достичь при использовании красных или оранжевых светодиодов с яркостью более 1000 мКд.



Если робот реагирует на вашу руку только тогда, когда она почти касается фотосенсора, то можно попробовать поэкспериментировать с листочком белой бумаги: отражающие способности белого листа намного выше, чем у человеческой руки, и реакция робота на белый листок будет намного лучше и устойчивее.

Белый цвет обладает самыми высокими отражающими свойствами, черный - наименьшими. Основываясь на этом, можно сделать робота, следующего по линии. Сенсоры при этом следует расположить так, чтобы они были направлены вниз. Расстояние между сенсорами должно быть немного больше, чем ширина линии.



Cхема робота, следующего по черной линии, идентична предыдущей. Чтобы робот не терял черную линию, нарисованную на белом поле, ее ширина должна быть около 30 мм или шире. Алгоритм поведения робота достаточно прост. Когда оба фотосенсора улавливают отраженный от белого поля свет, робот движется вперед. Когда один из сеносоров заезжает на черную линию, соответствующий электромотор останавливается и робот начинает поворачиваться, выравнивая свое положение. После того как оба сенсора снова находятся над белым полем, робот продолжает свое движение вперед.

Примечание:
На всех рисунках роботов микросхема драйвера двигателей L293D показана условно (только управляющие входы и выходы).

Демонстрация BEAM роботов:
BEAM-робот

http://www.youtube.com/v/Yxk59-w9xlE


для следования по линии
Гонки по линии 2009. Робот "Шершень"

http://www.youtube.com/v/nQ1Y0HgaTdc


Список комплектухи:
1Х микросхема L293D(E)
2х светодиоды по-ярче
2х фотоэлементы
2х резисторы 220 Ом
1х резистор 1 кОм
проводки небольшого сечения.
5V источник питания

L293D можно купить в магазинах радиотехники, стоит от 17 до 22 грн

© сайт пока оставлю в тайне для интриги, но догадливые могут его найти и без ссылки :D
Завтра выложу туториал со схемами более умного BEAM'а с дополнительной логической микросхемой К155ЛМ1
P.S. Вот блин, я нигде фоторезисторы найти не могу, а без них, как без глаз...