среда, 20 февраля 2013 г.

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

Продолжение рассуждения о конструкции роботов, решающих задачу движения вдоль линии.

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

В зависимости от расположения датчика вид треугольника может изменяться.


Поскольку датчики находятся на разном расстоянии от колес, то при одном и том же движении колес, отклонение датчиков от предыдущего состояния будет разным. Лучше всего это видно на следующей схеме.

Пусть треугольники образованные центром колес и центром датчика на разных роботах располагаются в некотором начальном положении.


Также подразумевается, что датчики на всех роботах видят одно и тоже - их показания равны. Тогда, применяя формулы из прошлых заметок, получиться что на двигатели каждого робота будет подаваться одинаковое управляющее воздействие, что приведет к повороту "треугольников" на один и тот же угол.


При этом из схемы видно, что вершина треугольника, в которой располагается датчик, отклонилась у разных роботов на разное расстояние от своей предыдущей позиции.


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

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

Как видно из схемы, при расположении датчика у одного из колес, в общем случае, нет таких очевидных недостатков, какие были свойственны тележкам перечисленным выше. Отклонение датчика такое же, как и при расположении датчика между колес. Однако здесь есть другой нюанс - такая конструкция обладает различающимися радиусами поворота в зависимости от стороны, в которую поворот происходит.


Здесь видно, что робот сможет выполнять более крутые правые повороты и менее крутые - левые. Особенно критично это становиться в похожей, но немного другой задаче - движение вдоль стены, а не вдоль линии. При левом повороте датчик определяющий расстояние до стены будет отделяться от нее медленнее, чем при правом повороте. Поэтому выравниваться, возвращаться к стене ему будет "удобнее", в то время как при правом повороте быстрее будет достигаться тупой угол, что приведет к тому, что датчик будет терять препятствие вообще.

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

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

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

Related Posts Plugin for WordPress, Blogger...