Как я могу ориентироваться в автомобиле RC с модулем GPS на основе пользовательских координат? - PullRequest
0 голосов
/ 21 февраля 2011

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

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

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

Спасибо, Praveen

Ответы [ 3 ]

0 голосов
/ 22 февраля 2011

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

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

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

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

0 голосов
/ 24 февраля 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), и если ваш ответ положительный, начните поворачивать направо, а если ваш ответ отрицательный, начните поворачивать налево.

0 голосов
/ 21 февраля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...