Необходим точный параллельный алгоритм валкообразования для наведения (GPS) - PullRequest
2 голосов
/ 11 ноября 2011

Я написал программу delphi, генерирующую файл gpx в качестве входных данных для «системы наведения бедного человека» для аэрозольного распыления с помощью сверхлегкой плоскости.

По большому счету, он создает маршрут (параллельные полосы), используя файл gpx в качестве вывода.

Движок маршрута основан на алгоритме "Vincenty", который отлично работает для любых вычислений wgs84, но Я не могу получить точность сетки, сгенерированной ExpertGPS of Topografix (требование).

Я предполагаю, что 2D-вычисления по эллипсу:

  • 1) Из начального rtept (точки маршрута) вычислите следующий rtept с учетом азимута и произвольного расстояния (длины полосы).

  • 2) Рассчитать следующий шаг, соответствующий предыдущему подшипнику (поворот на 90 °) и другому произвольному расстоянию (расстояние прохода).

  • 3) Повторить 1) с последним шагом в качестве начальной точки, но в обратном направлении и т. Д.

Что с ним не так?

Ответы [ 2 ]

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

Вы не описываете свою реализацию на Паскале модели земного эллипсоида Винсенти, поэтому ниже приводится предположение:

  1. В модели используются многочисленные геометрические тригонометрические функции - ATAN2, COS, SIN и т. Д. В зависимости от того,Вы используете внутренние функции Delphi или свои собственные версии, есть вероятность отсутствия точности в вычислениях.Точность значения pi, используемого в ваших расчетах, может повлиять на требуемую точность.
  2. Арифметика с плавающей запятой может привести к ошибкам в десятичной запятой.Будет иметь значение, используете ли вы одинарный, двойной или реальный.Я полагаю, что некоторые внутренние функции Delphi изменились с разными версиями, поэтому, возможно, версия Delphi, которую вы используете, повлияет на реализацию внутренней функции.
  3. При правильной реализации формула Винсенти должна быть точной с точностью до0.5mm.Удивительная точность.Если в реализации Delphi есть ошибки округления или неточности, позиционные ошибки могут быть значительно больше.
  4. Учитывайте точность вашей информации GPS.В зависимости от того, сколько спутников используется приемником GPS одновременно, точность информации о местоположении изменяется.Возможны ошибки порядка 50 футов и более.Кроме того, обновление информации о местоположении на приемнике GPS не обязательно происходит мгновенно;следовательно, если «повороты» происходят быстро, вам нужно убедиться, что GPS-сигнал обновился в точке поворота.
  5. Ваша процедура расчета шаблона кажется разумной, поэтому посмотрите на реализацию алгоритма Винсенти в коде Delphi..
  6. Этот список не является исчерпывающим, я думаю, что другие могут значительно улучшить его.То, что я упоминаю, основано на моем опыте работы с GPS и различными версиями Delphi, и на том, что я мог вспомнить на макушке головы.
  7. Что-то, что вы можете попробовать, это сравнить ваши расчеты расстояния / пеленга, используя вашу реализациюАлгоритм с примерами, представленными в Интернете.Есть несколько онлайн калькуляторов.Если вы там не были, Aviation Formulary - отличное место для поиска примеров других навигационных приемов.http://williams.best.vwh.net/avform.htm.Сравнение позволит вам обрести уверенность в точности реализации алгоритма Винсенти на Delphi с данными, рассчитанными математиками.Просто ваша реализация Винсенти может быть не точной.Опять же, ошибка может быть в другом месте.
1 голос
/ 23 мая 2013
I am doing farm GPS guidance  similar  for ground rig just with Android. Great for second tractor to help follow previous A B tracks especially  when they disappear  for a bit .

Способность повторения точности GPS от одного дня к следующему даст большее расстояние.Дорогое использование системы dGPS2cm-10cm.5-30metres отличается без dGPS.Простое решение перекалибровать в известном месте.В этом методе используются более дешевые световые полосы.

Дрифт Как указано выше, за исключением движения во время работы.В основном незаметно <20 см 3 часа.Может прыгать 1-2 метра редко.Я думаю, когда спутник подключиться или отключиться.Снова регулярно калибруйте в известных координатах, то есть точка заливки распылением </p>

Точность GPS.Максимальная скорость обновления телефона 1 Гц.3?секунды между исправлениями, скажем, 50 км / ч, 41,66 м между исправлениями.На наземной вышке 18 км, но после первого пробега будут трассы.Попробуйте Bluetooth 10 Гц проверить скорость обновления, и, как уже упоминалось, быстрое решение проблемы.

Точность входных данных и то, будет ли ваше руководство использовать dGPS, будет иметь огромное значение.

Как только вы сошли с линии, произнесите 5 метров на расстоянии 100 метров до следующей точки, затем на 50 метрах все еще на расстоянии 2,5 метра, если ваше руководство не вернет вас к маршруту, а не к следующим координатам.

Я не использую Vincenty, так как могу «врезаться» в линию вручную и на расстоянии более 1 км с разницей <30 см в соответствии только с той ссылкой, которую я видел, однако я беру 2 точки и создаю параллельные точки поперек. </p>

Надеюсь, что эти идеи помогут вашей ситуации.

...