Создаем робота-андроида своими руками - Джон Ловин
Шрифт:
Интервал:
Закладка:
Рассмотрим группу из восьми датчиков, резистивный элемент каждого из которых подключен к АЦП. В данной ситуации использование компаратора неэффективно, поскольку нас как раз интересует небольшая разница в показаниях отдельных датчиков. Для калибровки устройства необходимо выпустить небольшую порцию известного газа (запаха) на все восемь датчиков. Показания каждого из них преобразуются АЦП и записываются в компьютер. Разница показаний датчиков формирует профиль для каждого анализируемого запаха.
Подбор профиля хорошо реализуется в технологии нейронных сетей. Нейронная сеть может быть создана таким образом, что окажется в состоянии определять не только интенсивность, но и распознавать различные запахи.
Датчики влажности
Пассивные датчики влажности с резистивным выходом представляют собой относительно новую разработку и доступны к приобретению.
Проверка датчиков
При разработке и изготовлении систем чувствительных датчиков представляется разумным производить их тестирование перед установкой в систему робота. Одним из способов, который я осуществил, являлось создание небольшого передвижного робота, единственной функцией которого была проверка работоспособности и характеристик датчиков. Таким образом, оказалось возможным оценить время срабатывания датчика и его надежность до установки в более сложную конструкцию робота.
Робот способен тестировать «ударные» выключатели, световые выключатели, датчики изгиба, а также системы датчиков предотвращения столкновений, использующих ультразвук и ИК лучи. Прочие типы датчиков могут потребовать тестовой платформы больших размеров.
Изготовление робота-тестера
Я назвал конструкцию этого небольшого устройства роботом-тестером. В основе ее лежит небольшой электрический автомобиль, который можно приобрести менее чем за $10 (см. рис. 5.47).
Рис. 5.47. Тестер
Принципиальная схема робота-тестера изображена на рис. 5.48. Сенсор подключается к входу запуска таймера ИС типа 555, использованной в режиме одновибратора. На выходе схемы (вывод 3) присутствует напряжение низкого уровня до момента подачи отрицательного запускающего импульса на вывод 2. После этого на выводе 3 генерируется одиночный положительный импульс длительностью порядка 1 с.
Рис. 5.48. Схема работы тестера
Вывод 3 ИС 555 соединен с NPN транзистором типа 2N2222. Выходной сигнал снимается с эмиттера транзистора и поступает на одну из 6 схем «НЕ» инвертора, выполненного на ИС 4049. Выходы буферов схем «НЕ» 4049 поступают на МОП полевые транзисторы, включенные по схеме моста, которые управляют вращением двигателя привода.
При наличии низкого уровня на выходе ИС 555 транзисторы моста включают двигатель для движения «вперед». Тестируемый датчик подключен к входу запуска 2 ИС 555. Датчик включен таким образом, что при замыкании или коммутировании он выдает отрицательный импульс (садится на землю). Этот импульс на выводе 2 запускает одновибратор, который в свою очередь выдает положительный импульс длительностью 1 с на вывод 3. Данным импульсом транзисторы перекоммутируют двигатель на 1 с для движения «назад».
Подобный тестер может быть использован для проверки большинства датчиков и преобразователей.
Усовершенствование робота-тестера
Когда я разрабатывал конструкцию робота-тестера, то предполагал что большинство проверяемых датчиков будет использовано в конструкциях миниатюрных моделей. Однако вышло по-другому. В процессе конструирования различных схем-прототипов, как правило, не хватало времени для изготовления печатной платы, не говоря уже о минимизации размеров устройства.
Если бы я создал другого робота-тестера, я бы, несомненно, использовал большую модель электрического автомобиля в качестве платформы. Наличие достаточного места позволило бы с большим удобством проверять различные типы датчиков и иных схем.
Детали для описанных устройств можно заказать по адресу:
Images Company
P.O.Box 140742
Staten Island, NY 10314
(718)698-8305
http://www.imagesco.com
Глава 6
Интеллект
«Интеллект», заключенный в роботе, принимает одну из двух форм: программно поддерживаемый интеллект (экспертная система) и интеллект в форме нейронной сети. Возможно одновременное функционирование этих форм интеллекта. Такой синтез со временем будет широко использоваться в роботах для создания систем развитого ИИ.
Экспертные программы ИИ, основанные на системе решающих правил, хорошо известны большинству пользователей ПК. Это программы, написанные на языке высокого или низкого уровня типа С++, Basic или ассемблере. С другой стороны, нейронные системы используют искусственные, электронные нейроны для управления и генерации поведения робота. Подобная архитектура построения нейронных сетей, управляющих поведением роботов, была впервые предложена Вильямом Грей Вальтером в конце 40-х начале 50-х годов. Позднее Родни Брукс из Массачусетского технологического института разработал поведенчески ориентированную структуру сетей роботов под названием предикативной (условной) архитектуры. Мы рассмотрим работу поведенчески ориентированных роботов в гл. 8.
В этой главе мы остановимся на программируемых системах и микроконтроллерах. Помните, что работу нейронных сетей возможно имитировать с помощью специальных программных систем. Заслуживает внимания тот факт, что практически все матобеспечение по нейронным сетям функционирует на обычных программируемых компьютерах, используя специальные программы для имитации работы сетей.
Монокристальный PIC микроконтроллер
B настоящее время снабжение «интеллектом» небольшого робота или роботизованной системы представляет собой достаточно простую задачу. Существует целое семейство однокристальных компьютеров (более известных как микроконтроллеры), способных выполнять разнообразную работу.
Как следует из названия, однокристальный компьютер представляет собой цельное компьютерное устройство, заключенное в корпус ИС. Микроконтроллер, выполненный на миниатюрной подложке из кремния, заключает в себе свойства и возможности обычного персонального компьютера (ПК). Прежде всего, микроконтроллер способен хранить и выполнять программы, что является его наиболее важным свойством. Контроллер содержит центральный процессор (ЦПУ), оперативную память (ОП), постоянное запоминающее устройство (ПЗУ), шины ввода-вывода, последовательный и параллельный порты, таймеры и некоторые другие периферические устройства типа АЦП и ЦАП.
Причины использования микроконтроллера
Способность микроконтроллера к хранению и выполнению уникальной (заданной пользователем) программы обусловливает гибкость его применения. Например, можно запрограммировать микроконтроллер на принятие решений (исполнение функций) на основе определенных заранее состояний шин ввода-вывода и показаний датчиков. Его способность производить математические и логические операции позволяет моделировать сложные логические цепочки и работу цифровых электронных схем. Программы другого рода позволяют имитировать работу нейронных сетей и устройств с нечеткой логикой.
Микроконтроллер способен управлять работой двигателей постоянного тока (используется управление по напряжению или ШИМ), сервомоторов, шаговых двигателей и т. д. Если запрограммировать реакции микроконтроллера на показания чувствительных датчиков и команды ДУ, то робот приобретет способность «интеллектуального» реагирования. В настоящее время все наиболее «умные» электронные устройства на потребительском рынке снабжены микроконтроллерами, которые, очевидно, могут быть использованы и в наших роботах.
Подробности программирования PIC микроконтроллера
Программирование PIC микроконтроллера происходит в три этапа. Однако прежде чем приступить к собственно программированию, вам необходимо приобрести две вещи: программу компилятор PICBASIC и программатор EPIC (плата, куда помещается микроконтроллер). Сам PIC микроконтроллер и его дополнительные части не относятся к этим компонентам. Я рекомендую начать с PIC микроконтроллера типа 16F84, поскольку он представляет собой достаточно универсальное устройство в корпусе с 18 выводами, имеющий 13 шин ввода-вывода и перезаписываемую flash-память. Flash-память позволяет произвести до 1000 циклов перепрограммирования. Это окажется достаточно полезным при тестировании и отладке программ и электрических схем.
Компилятор PICBASIC (рис. 6.1) может быть установлен на стандартный ПК. Программа работает под DOS или в окне «MS-DOS Prompt» при установленных Windows. Для краткости MS-DOS Prompt мы далее будем обозначать просто как окно DOS. Программа DOS может быть запущена на любом ПК, начиная от PC XT с версией DOS 3.3 или выше. Компилятор поддерживает широкий ассортимент PIC микроконтроллеров. Компилятор генерирует шестнадцатеричный машинный код, который может быть использован и с другими программаторами. Цена программного обеспечения компилятора PICBASIC порядка $99,95.