Алгоритмы: черно-белое движение. Часть IIIАвтор: Alexander Kolotov на 0:20
Т.е. очевидно, что если бы в алгоритм добавить движение прямо при определенных условиях, то общая скорость движения значительно бы возросла. Как же это сделать? Ниже представлена диаграмма, показывающая как изменяется характер движения тележки в зависимости от того, с какой стороны границы находится датчик света. На границе линии датчик показывает 50% освещенности.
На практике можно сказать, что ситуация, когда датчик света будет показывать ровно 50% очень редки, поэтому робот практически никогда не будет двигаться прямо, как бы ровно он не стоял относительно границы. Поэтому необходимо сделать допущение - выбрать небольшой диапазон значений, которые робот будет расценивать как "нахожусь прямо над границей".
Здесь, кстати, выглядит разумным не терять время, выверяя точно границу, а взять показания датчика на самом темном участке линии и где-нибудь на белом поле. Среднее арифметическое от этих значений и можно будет считать показанием на границе линии.
Если раньше в нем было ветвление на две ветки, то теперь появляется третья. Легче это представить, если опять нарисовать схемы:
В данном алгоритме для поиска оптимальной скорости перемещения вдоль линии можно изменять мощности на моторах во время поворотов и во время движения прямо. При этом общее правило примерно следующее: скорость движения по прямой меньше скорости поворотов - чтобы робот не успел на большой скорости "вылететь" за трассу, после чего он мог бы не найти линию вообще. Для каждой конфигурации трассы и для каждой конструкции робота данные скорости индивидуальны: если трасса имеет много резких поворотов или робот обладает очень большими колесами - мощность на моторы будет меньше, чем в случае когда трасса более предсказуемая или колеса робота значительно меньшего диаметра.
|