LeJOS NXT движение в сантиметрах - PullRequest
1 голос
/ 11 ноября 2011

Я только начал изучать программирование на LeJOS, и у меня возникла небольшая проблема.Я понимаю, что могу измерять расстояние перемещения в секундах и градусах.Можно ли, например, измерить расстояние в сантиметрах?Если да, то как?(пример, пожалуйста, по возможности или по ссылке)

Спасибо!

Ответы [ 2 ]

2 голосов
/ 11 ноября 2011

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

0 голосов
/ 16 января 2013

Если вы используете колеса, это зависит от радиуса ваших колес.Расстояние, которое проходит колесо, напрямую связано с окружностью колеса.

Скажем, у нас есть 2 колеса, одно с радиусом 2 см, а другое с радиусом 4 см.Если мы позволим каждому колесу совершить полный (360 градусов) поворот, робот пройдет всю окружность колеса.

@ 2см радиусное расстояние = 12,6см @ 4см радиусное расстояние = 25,1см

Но тогда как рассчитать расстояние, если мы переместим только долю полного вращения или более 1 вращения?

Используйте формулу Расстояние = 2 * PI * Радиус * (градусы / 360)

Вы также можете использовать

import lejos.robotics.navigation.Move;
...
float distance = Move.convertAngleToDistance(/*float*/angle,/*float*/turnRadius);
...