sklimkim, Спасибо ! Скачал,буду пробовать. А для ОС Андроид небыло мысли переписать. Выдь в смартфонах и GPG и GSM..
Толку от GPS в смартфонах никакого 1. Нет сырых данных 2. Как правило вообще нет прямого доступа к GPS-приемнику, только через API Андроид может выступать в роли приемника коррекций NTRIP и счётной платформы для внешнего GPS-ресивера. Поищите в теме RTKNav под андроид от Алексея Илларионова (портированый RTKLib), но это всё на стадии экспериментов. Сырые данные им собрать, наверное, можно, а для RTK долго ждать фиксированного решения. Кто-то из иностранцев ждал 40 минут, это на моей памяти единственное корректное тестирование геодезистом. Но, повторюсь, для сбора сырых данных эта программа должна подойти.
Согласен с репликой chnav Добавлю навскидку еще несколько моментов. 1. Сырые (или бинарные) данные выдаваемые многими "бытовыми" ГНСС-приемниками имеют место быть прежде всего для удобства разработчиков (отладка, диагностика). 2. Переход (и программирование) на другую ОС дело сложное. ОС Андроид - "телефонная" система, в отличии например даже от Win-CE. Поэтому не вызывает доверия (уважения). А бум, связанный с Андроид'ом вполне понятен, но ничто не вечно. Вот китайцы расскажут сколько там шпионских закладок (американских + китайских), а Сноуден прокомментирует, а Украина ЕС опровергнет, тогда ситуация и прояснится. 3. Жду когда (и как ?) состоится такое: http://news.mail.ru/economics/18974771/?frommail=1 Но надо помнить, что Майкрософт много обещает, но не все выполняет. 4а. Еще есть Линукс, который портировали на наладонники и смартфоны аж 10 лет назад. На мой взгляд такой подход перспективней. Процесс продолжается и сейчас - правда зачастую это отдельные энтузиасты. Вот только крупным корпорациям такой путь мало-интересен. Фирма Ноккия - исключение, но и подтверждение этому. 4б. Для каждого конкретного устройства надо переделывать (компилировать) ядро операционной системы заново. А для этого надо "чисто конкретно" знать спецификации устройства (его железа). Разработчики устройств не очень часто выкладывают подробные спецификации. И это далеко не единственный "камень преткновения". 5. Работа с периферией до сих пор слабое место любой ОС + конкретного железа. Сужение списка внешних интерфейсов под флагом унификации - вот задача текущего момента. Девайсы с ОС Андроид не исключение. 8. Надо кататься - покупаем автонавигатор (их не сосчитать). Надо путешествовать по прерии - покупаем Г....н. Надо делать геодезию (землеустройство) - покупаем (вы сами знаете что). 6. Что же касается Андроида, то там есть свои "телефонные тараканы". Одним словом: неинтересно. А еще: затратно.
Согласен с sklimkin по всем пунктам, в частности по 8 пункту. Понял в прошлом году,что надо переходить на геодезическое оборудование и приобрел в ноябре здесь: http://www.ebay.com/itm/Novatel-OEM...918?pt=LH_DefaultDomain_0&hash=item461499b32e OEM-4 от Novatel. На ее основе собрал приемник в корпусе. В феврале прислали антенну NAP002. В апреле этого года пробрел Novatel OEMV-2 сдесь: http://www.ebay.com/itm/NovAtel-OEM...398?pt=LH_DefaultDomain_0&hash=item43c223d28e. Собрал второй приемник в корпусе. Подключил через usb порт к компьютеру и нетбуку и работаю в статике.
Ну что, господа, в данном направлении год не прошел зря. Пару лет назад я приобрел Sirf IV с factory unlocked carrier, но т.к. программой было некогда заниматься - он так и лежал на полке. Затем один хороший человек разлочил фазу в Sirf Star III - и понеслось. Фаза пишется, на открытом месте очень мало срывов даже с китайской патч-антенной. Те ужасы что описывал slimkim с дрейфом часов - это заводская фича, надо всего-лишь следовать руководству по протоколу Sirf Binary и корректировать данные перед записью RINEX. Там не обошлось без багов (в момент коррекции часов TOW в разных сообщениях может отличаться), но немного зная теорию это оказалось исправимо. Больше всего времени я потратил именно на определение бага часов, на самом деле оказалось что разные прошивки ведут себя по-разному и мне не следовало переключаться с одного приёмника на другой. Также пришлось изучать поведение часов в момент смены недели (полночь GPS с субботы на воскресенье). Привожу запись в 10 минут, это было первичное тестирование с обычной китайской антенной на магните. В следующий раз отстою как положено 40-60 минут с антеной Novatel 501. Расстояние до IGS Менделеево около 20 км. Исправленые программы записи и конвертации SiRF Binary выложу после праздников. Сам я их использую для обкатки алгоритмов, развивать интерфейс не планирую Оффтоп (Move your mouse to the spoiler area to reveal the content) было бы самонадеянно с моей стороны тягаться со штатом программистов SurvCE, Trimble, Topcon и др.
chnav, а как обрабатываете данные? rtklib считает вектора?Или собственным софтом решаете задачу? следом вопрос про rtklib - странно работает, запустил, все настроил,дает решение, потом раз и все, не дает решение. Запускаю оборудование и ртк от тримбла решаю - штатное оборудование ртк считает нормально. РТКлиб ничего не дает, хотя спутники видит. кто то наблюдал такое и как с этим бороться?
Не, я решил что для постобработки RTKLib это стрельба из пушки по воробям, слишком трудоемкая обработка. Я тестирую RINEX в GNSS Solutions, для обработки L1 ключ не нужен. Кроме того он очень привередлив к формату, если заведётся - полагаю в любом другом софте тоже будет обрабатываться. Разметка есть Static (point feature), Kinematic (line feature) и переход между точками (GO). Последнее тестирование показало баги в конвертере, сейчас устраняю. Заодно хочу ввести поддержку Sirf 4 - у него фаза разлочена уже с завода. Возникла проблема, может кто-то поможет советом. Чип слишком оптимистично рапортует что фаза L1 отслеживается без cycle slip, соответственно в ринексе я эти флаги не ставлю, а в постобработке на графике явно видно что был срыв. В результате если обрабатывать файл целиком - получается только float-решение, если вручную обрезать участки (их ещё найти надо!) - получается fixed. GNSS Solutions не ловит такие случаи, маски по уровня сигнала в нем тоже нет.
chnav, у меня есть TBC и LGO, если надо будет посчитать что-то, я посчитаю и с L2, бесплатно конечно :-) имейте ввиду)
stout, подскажите, нужен совет, хочу сам собрать программу для решения РТК, есть ли готовые решения, чтобы программист взял и собрал их в единый модуль? задача - быть независимым от штатного ПО тримбл, лейка и прочего... Вот собственно что я хочу сделать, надо сделать поправку к поправке, зная точно расстояние между антеннами, и сравнивая его с расчетным, получать ошибку. для этого нужно самому расчитывать вектора, и вмешиваться в процесс расчета. я соорудил жесткий (относительно) стенд под антенны, измерил расстояния, поставил три приемника, снял в статике, потом в ртк, потом еще и в РТКлиб вектор получил (фото прилагаю). это первый этап, хочу дальше повозиться, что то выудить из этого. вот фото, что я уже натворил, принимаю RTCM 3.0. --- Сообщения объединены, 6 янв 2015, Оригинальное время сообщения: 6 янв 2015 --- как видно, РТКлиб дал вектор фикс 48,8 см, а реальный 47,5 см. т.е. 1.3 см погрешность измерения вектора. Было решение "само на себя", т.е. когда ровер и база принимается с одного приемника, вектор фикс.решения был равен 3-6 мм. Плохо это или хорошо, не скажу, т.к. может быть это в силу математики приходит все к нулям при решение "сам на себя", если это не так, то решение "само на себя" является хорошим контролем качества сигналов (имхо). В экселе дано решение на улице РТК на R10, как видно, от 2 до 9 мм расхождение до эталона. Статика 15 минут дала 2 мм. кто может помочь профессионально со знанием дела, буду рад помощи.
2 chnav вспомнил, в GPSTk есть два класса: LICSDetector (This is a class to detect cycle slips using LI observables) и LICSDetector2 (This is a class to detect cycle slips using LI observables and a 2nd order fitting curve). Я с ними не работал, поэтому своего мнения у меня по этому поводу нет. Уважаемый Alex_jet! Извините, но в этих вопросах я дилетант, т.е. тот, кто занимается чем-либо, не имея специальной подготовки, систематических знаний; любитель. Правильно ли я вас понял: в дальнейшем планируется два приёмника (с известным взаимным расположением) на базе и один удалённый ровер? Вы не поверите, но до RTKlib, с момента его появления в сети, у меня руки не дошли.
Дилетант это я, при том высшего класса :) п.с. да, планируется две базы и один ровер. Дело в том, что железная дорога вытянута линейно, и нет vrs поправки.
Мне кажется, что из этого ничего путного не выйдет — слишком высока пространственная корреляция. Но это только моё мнение, может быть и неправильное. Да, я в курсе.
ну собственно я рогом не упираюсь, есть возможность попробывать - пробую :-) сейчас разбираюсь с easy5, там вроде алгоритмы все прописаны, попробую на основе ее сделать программу для обработки. пока программиста нет.
Эксперименты затянулись, пора подвести промежуточный итог, иначе эта музыка будет вечной... Перекомпилировал программу сбора сырых данных с чипов SiRF Star III. Изменения: - детектирование и компенсация Clock Reset (без этого каждые 30-40 минут происходит сбой в фазовых данных); - корректная работа с чипом SiRF Star IV (фаза разлочена уже в заводской прошивке), если будут проблемы - спрашивайте в ветке, есть тонкости; - добавлен вывод текущего Clock Bias; Инструкция была где-то выше, если кратко - нажимаете последовательно кнопки от 1 до 7, там более-менее всё понятно. Спойлер (Наведите указатель мыши на Спойлер, чтобы раскрыть содержимое) Раскрыть Спойлер Свернуть Спойлер 1. Set Survey - Параметры съемки, название проекта для RINEX и пр. важный пункт, без которого не будет стартовать запись - путь для сохранения данных. В Windows Mobile очень убогий интерфейс выбора папок на диске, вариантов два: а) выбрать любой файл в любой папке, программа отбросит имя файла и возьмет полный путь; б) после первого запуска программы выйти из неё, должен создаться файл ini (например Kinematic2_MobileApp_WM6.ini), открыть его и вручную исправить строковое значение, например Storage = SDMMC\Data 2. Set Receiver - Настройки приёмника, обычно SIRF, в Advanced settings установить скорость порта не ниже 38400; 3. Connect - соединиться, идет определение приёмника, согласование скорости и протокола, начинается отображение данных. Важный момент - примерно первые 30 секунд GPS Time будет иметь дробные секунды, и после того как приёмник синхронизируется - он подстроит часы и отсчеты будут происходить в целые секунды. Дождитесь этого момента прежде чем начинать запись RINEX. 4. New RINEX - открывается новый файл, начинается запись 5a. LOG POINT - поставить в rinex флаг "STATIC" 5b. LOG LINE - поставить в rinex флаг "KINEMATIC" (aka Continous Kinematic) 5c. Free GO - поставить в rinex флаг "MOVE" 6. Close RINEX - закрыть файл 7. Disconnect - закрыть порт 8. Exit - выйти из программы (автоматически прекратит запись, закроет все файлы) Также прилагаю образец собранных данных, два PDA HP iPaq rx5730 с разлоченой фазой. Стоял на обочине в 2 км от IGS Менделеево Sample_Rinex_test0460_Novatel501.zip: iPaq + антенна Novatel 501, сбор программой Kinematic Sample_Rinex_R021517A_ChinaPatch.zip: iPaq + простая patch-антенна (примерно как Trimble Bullet), сбор программой Terrasync с добавленным кодом коррекции часов и записи фазовых данных, последующий экспорт в RINEX. От данных двоякое впечатление. Возможно крыша авто из-за своей выпуклости даёт multipath, отсюда нестабильность в обработке - поменял маску и координата прыгнула на 20см. Возможно сам чип SiRF плох, возможно это неизбежность при работе с одночастотником, или ещё какие-то факторы. GNSS Solutions в обработке тоже не подарок, буду очень благодарен если кто-то обработает по отдельности приложенные RINEX и прокомментирует их. Мой вывод - стабильная точность в пределах 0.2-0.3м float в кинематике. Со статикой надо возиться, иногда показывает обнадёживающие миллиметры, но это внутренняя оценка, нужна вторая база (второй вектор) для контроля. Примечание 1: Программа в высшей степени экспериментальная, желательно понимать разницу между NMEA и двоичным протоколом, уметь работать с COM-портами, иметь в наличии и уметь обращаться с программами SirfTech и SirfDemo. Примечание 2: Я реалист, сам готов описать все недостатки подобного решения, но не забываем про соотношение цена-качество. Интересно было бы сравнить, например, с Trimble R3. Понятно что он будет лучше, интересно наколько...
Бегло: надежности не обнаружил. Тестил в RTKLIB 2.4.3 DGPS и статика. На базе 3 км устойчиво плавающее, и , иногда в начале фиксированное, которое затем плавно съезжает. Достоверность решения нужно проверять дополнительно. DGPS на полуметре (почти само на себя) дает низкие точности. Соответственно - кодовые (аналогично фазовым) - низкоточны. Однако - достойно уважения!
наткнулся на просторах на интересное, подобное исследование http://gpsworld.com/accuracy-in-the-palm-of-your-hand/ утверждают о сантиметровой точности со Смартфона, вот только ссылок на реализованное ПО не нашел http://radionavlab.ae.utexas.edu/images/stories/files/papers/ion2014Pesyna.pdf