Частично навеяно мыслями из статьи на legoleaguecoaching.org
Очевидно, что данных сообщений на данную тематику будет несколько, так что это только начало.
Широкая или узкая колесная база?
В зависимости от задания, необходимо определиться, какая колесная база будет лучше подходить для его выполнения:
Если рассматривать сборку робота по танковой схеме, то робот с большим расстоянием между колесами выигрывает в точности. Конкретнее, в точности выполнения поворотов.
Это обуславливается тем, что стандартные двигатели NXT не выполняют повороты точно на то количество градусов, которые здаются при программировании.
Можно провести небольшой эксперимент. Пусть к NXT блоку к портам "B" и "C" подключены два мотора. Также пусть есть программа, которая запускает моторы для поворота на некоторое количество градусов, после чего проверяет на сколько они реально провернулись и выводит на экран это число вместе с относительной ошибкой поворота (в процентах) для каждого мотора.
Например, "45-0.0 49-8.8", показывает, что один двигатель повернулся на 45 градусов, относительная ошибка поворота 0.0%, в то время как второй двигатель повернулся на 49 градусов и ошибка поворота (от 45 градусов) составляет 8.8%.
Вот, что такая программа может вывести:
Из полученных таблиц можно сделать несколько выводов:
1. Очень редко, когда двигатель поворачивается на то количество градусов, которые ему задаются в программе.
2. Меньшее количество градусов заданное для поворота, вызывает большую относительную ошибку поворота, большее количество градусов поворота, вызывает меньшую ошибку.
Стоит отдельно пояснить, что такое относительная ошибка поворота и на что она повлияет при движении, а конкретно при выполнении поворота всем роботом целиком.
Допустим, что было расчитано, что для того чтобы проехать 10 см., колесо должно провернуться на 180 градусов. Если мы говорим, что относительная ошибка поворота - 5%, т.е. двигатель повернулся на 189 или на 171 градус, то для робота это значит, что он проедет не 10 см, а 11 см. или 9 см.
Так что же произойдет в этом случае во время поворота всего робота?
Следующие объяснения в виде изображений должны пролить свет на ответ.
В иллюстрации видно, что при недовороте одним колесом на 4 градуса из 80, происходит 5% ошибка поворота. Следовательно колесо не довезет робота до нужной позиции и при последующем движении прямо, он поедет сильно отклоняясь от предполагаемого направления движения.
Для сравнения и ответа на вопрос "Широкая или узкая колесная база?" можно взглянуть на следующие схемы:
Очевидно, что при расширении колесной базы колесу робота нужно проехать большее расстояние чтобы выполнить поворот. Например, теперь роботу нужно повернуть колесо на 160 градусов. При абсолютной ошибке в 4 градуса, относительная ошибка уменьшится до 2.5%. Т.е. робот после поворота будет гораздо ближе к предполагаемому направлению движения.
Поскольку колесная база ведет к увеличению расстояния, которое нужно пройти роботу для выполнения поворота, то следует вывод, что это также ведет к увеличению времени, которое робот затратит на этот разворот. Поэтому, как итог ответа на изначальный вопрос, можно сказать что, если по заданию робот должен быть быстрым, но не точным в разваротах - выбор падет на узкую колесную базу, если же нужно выполнять развороты как можно точнее, чтобы спозиционироваться правильнее на трассе, но скорость разворота неважна (скажем, их не так много) то следует продумать использование широкой колесной базы.
ставлю два двигателя (схема танковая), с синхронизацией, все-ровно прямо
ОтветитьУдалитьидеально не едет.
Может это болезнь всех NXT?
Тут вопрос был не о том косячит или нет, а в том что помогает снизить эту косячность. В данном случае предлагают решением расширение колёсной базы. Можно так же ставить на движок самую мелкую шестерню, а на колёса самую большую, в этом случае движку надо будет крутиться быстро, чего мы и добиваемся для снижения промаха.
ОтветитьУдалить