Создаем робота-андроида своими руками
Шрифт:
Если бы я создал другого робота-тестера, я бы, несомненно, использовал большую модель электрического автомобиля в качестве платформы. Наличие достаточного места позволило бы с большим удобством проверять различные типы датчиков и иных схем.
Детали для описанных устройств можно заказать по адресу:
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.
Рис. 6.1. Компилятор PICBASIC
Плата программатора EPIC (см. рис. 6.2) имеет панельку для вставки ИС PIC контроллера и соединение с ПК через порт принтера для осуществления программирования. Плата программатора присоединяется к компьютеру с помощью кабеля DB25, вставленного в порт принтера (параллельный порт). Если в компьютере имеется единственный параллельный порт, в который уже вставлен кабель принтера, то для программирования PIC этот кабель должен быть предварительно отсоединен. В паре с компилятором PICBASIC плата программатора EPIC поддерживает программирование многих типов PIC микроконтроллеров. Цена платы программатора вместе с прилагаемой дискетой составляет $59,00.
Рис. 6.2. Плата программирования EPIC
Микроконтроллер PIC 16F84 изображен на рис. 6.3. Он представляет собой универсальное устройство, снабженное flash-памятью. Flash-память, как было отмечено выше, является памятью с возможностью перезаписи. Память допускает минимум 1000 циклов стирание-запись, поэтому вы можете перепрограммировать и вновь использовать микроконтроллер до 1000 раз. Время сохранения памяти без перезаписи составляет примерно 40 лет. Из 18 выводов ИС 16F84 13 представляют собой шины ввода-вывода. Изменение состояния шин ввода-вывода можно легко осуществить из программы. Другие функции включают управление питанием по перезапуску, режим энергосберегающей моды, таймер включения и защиту кодов. Другие функции архитектуры PIC 16F84 будут приведены по ходу изложения.