вторник, 9 ноября 2010 г.

NXT-G: Ramp Up and Ramp Down в блоке Motor

Навеяно вот этим старым сообщением.


Довольно многие, кто узнают о существовании блока Motor, почти сразу задают вопрос - а зачем он нужен? Ведь есть блок Move - он может все то же самое?
Правильно было бо сказать почти все.

Во-первых, блок Motor позволяет управлять только одним мотором, в то время как блок Move позволяет управлять одновременно несколькими.

Во-вторых, в этом блоке есть такие параметры как Action, Control и Wait. Причем, Action и Wait доступны только когда движение задается в оборотах или градусах поворота двигателя.





И если с параметром, Wait все более-менее понятно - передавать ли управление сразу следующему элементу программы после включения моторов или нет, то с параметром Action - не все так просто. В нем содержиться три возможных значения: Constant, Ramp Up и Ramp Down.


Значение Constant выставляется по-умолчанию: мотор будет запущен и заданное количество энергии подастся на него сразу же как только блок выполиться.

Значение Ramp Up отвечает за постепенное увеличение энергии, подаваемой на мотор, до заданной величины. Например, если в Power указать 70%, в Duration - 180 degrees, то мотор начнет вращаться медленно, но в течении времени пока он провернется на 180 градусов, мощность его постепенно возрастет до 70%.

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

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

Не следует путать эти значение с параметром торможения Coast. Coast отключает энергию от двигателей когда заданное количества движения (количество поворотов) УЖЕ свершилось, в то время как Ramp Down контролирует энергию ДО завершения движения.

Следующие два ролика демонстрируют проявление Ramp Up и Ramp Down при работе двигателей.




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

Тележка плавно разгоняется в течении первого поворота колеса, а затем едет до возникновения какого-то события. Отметьте, что для предотвращения рывка после завершения первого блока Motor и второго блока Motor, используется Coast параметр торможения.

P.S. Параметр Control (Motor Power) будет пытаться компенсировать движение по сложным поверхностям (прокручивание колес, сопротивление резкому старту на песке и пр.), так чтобы скорость движения по ним была постоянна.

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

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

Related Posts Plugin for WordPress, Blogger...