214
Глава 9
При коммутации обмоток ШД возникают провалы в общем питании схемы. Во избежание этого эффекта параллельно выводам питания каждого драйвера подключены электролитические конденсаторы С6-С8. Кроме того, при работе обмоток ШД могут Появится электромагнитные скачки коммутации, и, как следствие, — электромагнитные помехи. Для их устранения к выводам платы на обмотки ШД подключены конденсаторы С9-С16.
Алгоритм
Во время движения предполагается приближаться к более освещенному месту. Если освещение на одном из фотодатчиков — более интенсивное, то движение РОС перестраивается в этом направлении (позиции 1 и 2 на рис. 9.5).
Рис. 9.5. Логика движения робота
Если РОС обнаружил препятствие (позиция 3 на рис. 9.5), то он отъезжает назад (позиция 4 на рис. 9.5) и поворачивает назад вправо (позиция 5 на рис. 9.5). Попытка двигаться в сторону от источника света завершается ничем, и РОС меняет направление движения на противоположное (позиция 6 на рис. 9.5). Если на пути РОС опять возникает препятствие, то он сдает назад и опять пытается объехать преграду слева. На четвертой попытке РОС переходит в режим ожидания на одну минуту. Последующие действия РОС — переключится на движение вправо. При четвертой неудачной попытке движения вправо РОС останавлива-
Робот "Охотник за светом"
215
ется и переходит в режим ожидания на одну минуту. После паузы все действия РОС повторяются сначала. При этом РОС контролирует питание ADC9 и общий уровень освещения. В темноте робот не двигается.
Для движения в сторону света с условием преодоления препятствий РОС должен запоминать свои перемещения для составления последующего плана движения. В этом случае требуется отдельный контроллер с большим объемом памяти и способностью выполнять сложные математические вычисления. Кроме того, необходимо оснастить такую конструкцию датчиком положения относительно магнитных линий земли: датчик 1490 или 1525 [26].
Блок-схема алгоритма разделена на две части, соответствующие механической (рис. 9.6) и логической (рис. 9.7) частям программы. В первой блок-схеме выбирается курс движения РОС, а во второй — устанавливается маршрут движения (зарождение примитивной искусственной логики мышления). Поскольку программа РОС имеет сложную логическую структуру, поведение робота в той или иной ситуации соответствует отдельным, неявным блокам состояния. Неявные блоки состояния исходят из общей концепции логики поведения РОС, описанной выше, и изменяются при изменении поведения на более агрессивное или малоподвижное. Неявными блоками состояния рассматриваемой модели РОС являются курс и маршрут движения. Увеличив количество неявных блоков (например, добавив "зрение" или способность анализировать размеры препятствия), при достаточном ресурсе микроконтроллера (или наличии нескольких микроконтроллеров) можно создать полноценного робота. При создании группы блоков, в виде группы микроконтроллеров, связанных приоритетами и логикой поведения, достигается искусственный интеллект. В этом случае построение неявных блоков должно соответствовать поставленной задаче.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |