Как управлять радиоуправляемой машиной с модулем GPS на основе заданных пользователем координат?

Я хочу провести радиоуправляемую машину из точки А в точку Б. Модуль GPS используется для определения текущих координат местоположения, т.е. точки А. Пользователь вводит координаты точки Б на основе точки А. Мне интересно, какой алгоритм я должен использовать для переместите радиоуправляемую машину, т. е. этот алгоритм должен сказать роботу двигаться вперед или повернуть направо, пока он не достигнет точки B.

Я смотрел на алгоритм фильтрации Калмана. Есть ли другой алгоритм, который я могу использовать.

Окружающая среда: Робот должен перемещаться внутри помещения. Я должен использовать GPS, потому что это требование. GPS — единственный навигационный датчик, присутствующий на роботе.

Спасибо, Правин


person Praveen    schedule 21.02.2011    source источник
comment
Расскажите нам больше о проблеме. Окружающая среда представляет собой большую открытую площадь или у вас есть карта? Есть ли в автомобиле другие навигационные датчики, кроме GPS? Вы знаете кинематику робота? Что должен отслеживать фильтр Калмана (или другой фильтр) и почему? Используйте тег «робототехника», если это настоящий вопрос о робототехнике.   -  person antonakos    schedule 22.02.2011


Ответы (3)


Помните, что точность GPS находится в пределах 2-3 метров, что, я думаю, будет настоящей проблемой для радиоуправляемой машины, для которой такой уровень неточности будет значительным.

person Chris Kemp    schedule 21.02.2011

GPS на дешевом приемнике находится в диапазоне от 2 до 10 метров. В помещении будет хуже из-за ограниченной видимости спутников.

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

Чтобы проехать к путевой точке, вам нужно знать, где вы находитесь в данный момент, чтобы определить курс от вас до путевой точки. Затем вам нужно знать направление вашего транспортного средства, которое вы можете получить примерно в зависимости от пути, по которому вы были. Затем вам нужно уметь управлять транспортным средством так, чтобы оно было направлено на точку пути. Для того, чтобы ваш автомобиль правильно двигался, вам может потребоваться контролировать угол поворота рулевого колеса.

Я сделал это с помощью сельскохозяйственной техники. Высокоточный GPS-приемник обеспечивает определение местоположения и скорости. Его путь предоставляет информацию о направлении движения автомобиля, а затем датчик угла поворота колеса дает обратную связь в контуре управления рулевым управлением.

person Lance Lefebure    schedule 22.02.2011

Ваш приемник GPS должен вывести NMEA, который содержит предложение NMEA, называемое RMC. Поле 5 этого предложения — это путевая скорость в узлах, а поле 6 — курс в градусах. Поля 1 и 2 дают вам координаты вашего текущего положения A=(lat1, lon1), и вы ввели пункт назначения как B=(lat2, lon2)

Теперь курс, в котором вы хотите находиться, рассчитывается с использованием atan2 следующим образом:

heading = atan2( sin(lon2-lon1)*cos(lat2), cos(lat1)*sin(lat2) - sin(lat1)*cos(lat2)*cos(lon2-lon1))

А затем преобразовать это из радианов в градусы, но вам также нужно добавить 180 градусов к любому отрицательному ответу (поскольку результат заголовка находится между -180 и 180).

Итак, теперь у вас есть фактический курс hA и курс hB, по которому вы должны двигаться. Вычтите одно из другого (hA - hB), и если ваш ответ положительный, начните поворачивать направо, а если ответ отрицательный, начните поворачивать налево.

person Keir Finlow-Bates    schedule 24.02.2011