У меня есть Lego Mindstorms EV3 Pack, и я построил простую машину с 3 колесами. Задние колеса моторизованы.

Когда я запускаю следующий код:

Motor.A.backward();
Motor.D.Backward(); 

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

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

3
Alexander O'Mara 12 Дек 2019 в 12:00

1 ответ

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

Рассмотрим автомобиль с четырьмя колесами: чтобы двигаться вперед, колеса с левой стороны должны вращаться против часовой стрелки, а колеса с правой стороны должны вращаться по часовой стрелке.

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

3
zovits 7 Мар 2019 в 17:15
Спасибо за ответ. Я решил эту проблему, просто повернув и собрав один двигатель. Так что теперь нормально :-)
 – 
weiterleiter
8 Мар 2019 в 00:24
Пожалуйста! На этом сайте, если вы чувствуете, что ответ помог вам, вы можете щелкнуть треугольник, указывающий вверх, чтобы показать свою признательность, и если ответ доказал, что решает проблему, вы можете сигнализировать об этом, щелкнув галочку рядом с ним. Это покажет другим читателям, что предложенное решение действительно верное.
 – 
zovits
8 Мар 2019 в 11:23