Предыдущая Следующая

При движении РОС необходимо решать проблему ориентации. Ориентация при повороте может быть задана заранее с помощью кодовой таблицы, определяется по ориентиру (датчик магнитного поля земли, GPS-навигатор) или с помощью обратной связи в виде телекамеры. В конце концов, автоматическому роботу незачем распознавать положение юга и севера. Ему достаточно передвигаться в локальной области, приемлемой для выполнения поставленной задачи. В рассматриваемом РОС применена кодовая таблица заданной траектории движения.

Рассмотрим блок-схему, показанную на рис. 9.6. В ее верхней части АЦП считывает данные двух фотодатчиков, которые затем вычитаются и, в зависимости от результата, выбирается ветвь управления движением РОС. В каждой ветви присутствует проверка состояния контактных

Глава 9

датчиков SI и S2 (см. рис. 9.7). Результат проверки отражается на изменении маршрута согласно рис. 9.7.

Робот "Охотник за светом"

217

Проверка PORTC

Движение назад 4 оборота зала ШД

Поворот влево

Движение вперед 4 оборота зала ШД

Движение вперед 4 оборота вала ШД

Поворот впразо

Движение назад 4 оборота вала ШД

Стоп 1 минута

Стоп 1 минута

Рис. 9.7. Определение маршрута движения РОС

При возникновении препятствия движению РОС реагирует не сразу. Мелкие препятствия робот может преодолеть силой, проталкивая их по ходу движения. Если препятствие не столкнуть, то РОС выполняет маневр. Любые автоматические действия РОС основаны на прохождении заданного количества шагов. Каждый поворот состоит из комбинации поворота вала ШД1 и ШД2 на 360°. Так, для поворота влево необходимо выполнить следующие операции: ШД1 (левый) — один шаг назад, ШД2

218

Глава 9

(правый) — два шага вперед. При повороте влево вал ШД1 вращается против часовой стрелки, а вал ШД2 — по часовой стрелке. Тем самым достигается хорошая маневренность корпуса РОС.

Автоматический маневр в виде комбинации поворотов соответствует блок-схеме, показанной на рис. 9.7. На ней указана исходная точка "А" и конечная точка "В" логики управления. В точке "В" присутствует общая линия связи в виде штриховой линии.

Маневры РОС зависят от габаритов РОС и размеров препятствий. Если эти размеры не сопоставимы и имеют большой разброс, то необходимо ввести коэффициент масштабирования относительно размеров РОС и пересчитать траекторию маневра для преодоления препятствия (т.е. появится новый неявный блок состояния РОС). В данной модели такой неявный блок не предусмотрен. Предполагается, что размеры препятствий равны или меньше РОС (см. рис. 9.5).

Программа

Программа начинается с установки состояния портов ввода вывода. Затем поочередно настраивается и опрашивается АЦП фотодатчика 1 и АЦП фотодатчика 2 (см. рис. 9.6). Данные приводятся к среднему арифметическому и формируются значения D и S в соответствии с освещенностью каждого фотодатчика. Для решения логической задачи микроконтроллеру легче оперировать небольшими положительными или отрицательными цифрами, близкими к нулю, поэтому на следующем этапе выполняется вычитание F = D — S, а полученный результат сравнивается по модулю с 10. Если он меньше, то РОС двигается прямо, если F > +10, то РОС двигается влево, если же F < -10 то РОС двигается вправо.


Предыдущая Следующая






Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book8_87.html on line 140

Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book8_87.html on line 140

Warning: include() [function.include]: Failed opening './news.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/picprof/data/www/picprof.com/book/book8_87.html on line 140