четверг, 18 ноября 2010 г.

Робот для состязаний: выполняем разворот

Наиболее популярной на состязаниях Лего-роботов является сборка по танковой схеме - когда перемещением робота занимаются как минимум два двигателя, отвечающих за движение колес каждый со своей стороны: один отвечает за вращение колес/гусениц на левой стороне, другой - на правой.

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

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

Критерий первый. Скорость выполнения разворота.

Если рассматривать одного и того же робота, то скорость разворота двумя моторами будет быстрее.
Это связано с тем, что в случае с разворотом одним колесом, колесу нужно проехать большее расстояние (в 2 раза)

чем при развороте двумя колесами

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

Критерий второй. Точность выполнения разворота.

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

Критерий третий. Пространство разворота.

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

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

2 комментария:

  1. Александр, скажите, а на рисунке R это расстояние до внутренней части колес, их середины или внешней?

    ОтветитьУдалить
    Ответы
    1. Здесь конкретно это не имеет значения. А так, я думаю надо брать середину.

      Удалить

Related Posts Plugin for WordPress, Blogger...