Создаем робота-андроида своими руками
Шрифт:
Поставщики
• Алюминиевые полосы, винты, трубки, пружины можно приобрести в соответствующих магазинах.
• Сервомоторы можно приобрести в специализированных магазинах или заказать у дистрибьюторов.
• Микроконтроллер PIC и переднее ведущее колесо можно заказать в компании Images Company.
Images Company
39 Seneca Loop
Staten Island, NY 10314
(718) 698-8305
Jameco
1355 Shoreway Rd.
Belmont, CA 94002
(650) 592-8097
JDR
1850 South 10 St.
San Jose, CA 95112
(800) 538-5005
Строим
Посмотрим, сможем ли мы сконструировать робота-охотника за светом, обладающего в некотором смысле «интеллектуальным» поведением. В главе 6 мы уже рассматривали систему слежения за источником света на фоторезисторах. Система слежения фиксировала источник света и поворачивалась в его направлении. Когда мы поместили следящую систему на копию робота-черепахи Вальтера, она направляла движение робота на источник света. Такой тип «ориентировочного» поведения мы будем называть первым уровнем системы «стимул-реакция».
Программа иллюстрирует, как алгоритмически управляемые микроконтроллеры могут имитировать функции нейронов. Для строгости примера приведем нейронную схему, которая исполняет те же функции без участия алгоритмически заданного «интеллекта».
На рис. 8.19 показано использование двойного симметричного операционного усилителя с однополярным питанием. Два ОУ включены в схемы компараторов. Работу компаратора мы подробно рассматривали в гл. 5. Если у вас возникли какие либо вопросы по поводу рис. 8.19, перечитайте гл. 5. Два фоторезистора CdS включены последовательно и образуют делитель напряжения. Выход этого фоторезистивного делителя подключен к инвертированному входу одного ОУ и неинвертированному входу другого.
Рис. 8.19. Нейронный компаратор на двух ОУ
Потребуются еще два делителя напряжения. Конструктивно они являются зеркально симметричными. Один делитель составляют резистор 3,9 кОм, подключенный к ИП, и резистор 4,7 кОм, соединенный с землей. Во втором делителе используются резисторы тех же номиналов, но в обратном включении.
Когда оба фоторезистора освещены одинаково, то ни один из светодиодов не горит. Если прикрыть один из фоторезисторов, то соответствующий светодиод загорится.
Каждый из ОУ функционирует как одиночный электронный нейрон. Когда значение электрического стимула превышает или падает ниже заданного порога (зависит от того, какой из ОУ мы рассматриваем), который определяется соответствующим резистивным делителем 3,9 кОм и 4,7 кОм, то «нейрон» активируется. Активация нейрона (т. е. сигнал на выходе ОУ) может быть использована для включения двигателя постоянного тока через NPN транзистор (см. рис. 8.20). В свою очередь двигатели могут обеспечивать перемещение и направление движения робота охотника.
Рис. 8.20. Управление двигателями постоянного тока с помощью нейронного компаратора
Для изготовления простого робота-охотника было использовано шасси, имеющее два двигателя постоянного тока с редукторами (см. рис. 8.21). Когда оба двигателя включены, робот движется вперед по прямой. Если один из двигателей выключен, то другой двигатель поворачивает конструкцию направо или налево.
Рис. 8.21. Общая схема робота – светоохотника
Для нашего робота-охотника при одинаковом освещении фоторезисторов нам необходимо подавать питание на оба двигателя. Для этого
Рис. 8.22. Управление двигателями постоянного тока с помощью нейронных компараторов с инверторами
Поведение
Когда на один из фоторезисторов падает меньше света, чем на другой, один из двигателей соответственно выключается, а другой двигатель поворачивает устройство в направлении источника света. Когда световые потоки сравниваются, включаются оба двигателя и робот движется прямо по направлению на источник света.
Если мы поменяем местами выходы ОУ, управляющие двигателями, то поведение изменится на противоположное. Вместо того чтобы двигаться по направлению к источнику света, робот будет избегать света и искать «убежище».
Дополнительный тип поведения (питание)
Мы можем усложнить поведение робота-охотника, добавив еще один уровень «стимул-реакция» (см. рис. 8.23). Для этой цели подойдет еще одна управляемая светом схема компаратора, которая будет обеспечивать тип поведения «питание». Напомню, что принцип работы компараторов был изложен в гл. 5. Если у вас появились вопросы по рис. 8.23, то прочитайте еще раз эту главу. Второй слой надстроен сверху над первым. Когда интенсивность светового потока достигает критической величины, опорный детектор снимает напряжение с цепей первого слоя и системы питания двигателей. Если мы разместим на конструкции солнечную батарею и диод, то напряжение, генерируемое батареей, будет немного подзаряжать батарею NiCd аккумуляторов. Эту функцию мы назовем «питание».
Рис. 8.23. Схема компаратора для поведения типа «питание»
Еще один тип поведения (отдых)
Понятно, что у нас нет желания, чтобы робот-охотник перемещался в темноте, теряя при этом драгоценную энергию. Поэтому мы добавим еще один слой поведения. Третьим слоем будет еще один пороговый детектор (см. рис. 8.24). Этот детектор отключает напряжение от цепей первого слоя, системы питания двигателя и цепей второго слоя при уровне освещенности, близком к темноте. При повышении среднего уровня освещенности система восстанавливает питание первого слоя, подает напряжение на двигатели и цепи второго слоя.
Рис. 8.24. Схема компаратора для поведения типа «отдых»
Новый тип поведения
Посмотрим на поведение робота-охотника по трехуровневой (трехслойной) схеме «стимул-реакция» и посмотрим, можно ли классифицировать это поведение как «разумное». В полной темноте робот неподвижен, сосредоточивая всю активность на слое 3. При повышении уровня освещенности слой 3 индуцирует включение питания двух нижних слоев и активирует питание двигателей. На этом этапе слой 1 перехватывает управление устройством и направляет действия робота. Робот ищет и движется по направлению к источнику света. По мере продвижения к источнику света уровень освещенности нарастает. Когда освещенность достигнет критического порогового значения, схема слоя 2 отключит питание двигателей, переведя робота в режим «питание», что позволит ему «питаться» (подзаряжать аккумуляторы) с помощью солнечной батареи.