суббота, 13 октября 2012 г.

Алгоритмы: черно-белое движение. Часть II

Продолжение. Перед чтением этой заметки, рекомендуется ознакомиться с первой частью.

В прошлый раз, было показано как шаг за шагом прийти к самому простому алгоритму движения вдоль линии - линейному:
Можно напомнить, что при запуске тележки, работающей по этому алгоритму, характер движения будет следующий:
Этот же алгоритм можно записать слегка другим способом. Для этого, вместо каждого блока Wait, будет стоять эквивалентный цикл, оканчивающийся при том же условии, что и блок Wait.

Затем, чтобы отразить смысл процесса, блоки управления моторами будут перенесены внутрь цикла. Таким образом, становится однозначно понятно, что каждый маленький цикл отвечает за движение с одной или другой стороны от границы черной линии.
Словами этот алгоритм может быть описан следующим образом: повторяем движение одним мотором до пересечения границы черной линии, после чего повторяем движение уже другим мотором до обратного выезда за границу.

Данная реализация алгоритма может быть легко переделана к более узнаваемой форме - релейный регулятор с двумя состояниями:
Следует отметить, что изменилась только запись - сам алгоритм остался тот же, причем сохранились не только основные элементы, отвечающие за операции с моторами, но и, при внимательном просмотре, два цикла из стоящего выше примера, с точкой выхода на границе линии.
Зачем нужна такая форма записи алгоритма? Дело в том, что от нее очень логично перейти к более сложной теме - пропорциональным регуляторам, о которых будет рассказано в следующих частях.

Комментариев нет:

Отправить комментарий

Related Posts Plugin for WordPress, Blogger...