Название этой заметки специально не похоже на название статей из цикла "Алгоритмы: черно-белое движение", потому что в ней не будет ни слова о программах. И хотя речь все еще пойдет о движении робота-тележки вдоль черной линии, рассматриваться здесь будут вопросы конструирования - в частности вопросы выбора ширины колесной базы и размещения датчика освещенности применительно к данной задаче. |
Пусть сначала правое колесо стоит, а левое вращается. Тогда траектория (синяя пунктирная линия) тележки будет окружность с центром в точке соприкосновения правого колеса с полем.
Если теперь правое колесо начнет двигаться, то траектория измениться, но все также останется окружностью - только большего радиуса.
Движение в левую сторону даст аналогичные окружности:
Общее правило при этом такое - чем сильнее скорости вращения колес стремятся сравняться друг с другом, тем больший радиус будет описывать тележка.
Поэтому, когда оба колеса будут вращаться с одинаковой скоростью, движение выродиться в прямую линию.
Если рассмотреть движение роботом по линии, то в каждый момент времени он описывает дугу определенного радиуса, просто из-за краткосрочности движения в определенном направлении дуга очень короткая.
Очевидно, что в при движении роботом по каждой дуге, датчик освещенности закрепленный на тележке, также будет описывать дугу.
Тогда первое следствие, какое можно выделить после данных рассуждений, что дуга минимального радиуса, описываемая датчиком освещенности, будет при одном неподвижном колесе (движение одним колесом в обратном направлении не рассматривается пока).
Также можно утверждать, что дуга меньшего радиуса будет у робота с более узкой колесной базой.
Это свойство можно использовать, когда конструируется робот для прохождения трассы определенной конфигурации. Ибо колесная база будет определять минимальный радиус кривизны трассы, которую робот сможет проехать и не вылететь с нее.
Например, на данной схеме видно, что даже если робот полностью остановит свое правое колесо минимальный радиус поворота переместит его датчик на левую сторону линии, в то время как робот ожидает ее правую границу. Это приведет к тому, что после завершения поворота робот будет продолжать поворот влево в поисках правой границы линии - это будет отдалять его от линии еще дальше и приведет к вылету с трассы.
Робот с более узкой колесной базой на этом же самом участке трассы находится в более выигрышной ситуации - при крутом повороте (правое колесо полностью остановлено) его датчик всегда находится с правой стороны от линии, что позволяет ему без проблем продолжить движение после поворота.
Сформулируем первое правило конструкции робота-тележки при движении вдоль линии: чем круче повороты на трассе, тем меньше должен быть радиус поворота механизма, тем уже должна быть колесная база робота.
Конечно же, можно попытаться решить проблему программно введя в регулятор вращение колес в обратную сторону при критических показаниях датчика освещенности, но это безусловно скажется на максимальную скорость движения робота.
Саша, спасибо за твой ресурс и твои рассуждения!
ОтветитьУдалить