Android z wizytą w Warszawie

kolumnaPod koniec maja miała miejsce wizyta teamu SkyRaster w Warszawie. Dla projektu PowerGPS była kluczowa, bowiem obejmowała wizytę w siedzibie dystrybutora sprzętów GPS w celu sprawdzenia faktycznej użyteczności aplikacji z dostępnymi tam RTK. Mało brakowało, a wizyta byłaby przełożona – przed wyjazdem drobny detal opóźnił wyjazd, ale na szczęście udało się dotrzeć w rozsądnym czasie.

Wizyta w Geopryzmacie

geopryzmat-logoNasza wizyta obejmowała spotkanie w Raszynie, w siedzibie firmy Geopryzmat, która od wielu lat zajmuje się profesjonalną dystrybucją precyzyjnych odbiorników geodezyjnych klasy RTK i która jest głównym dystrybutorem sprzętu marki Kolida. Ponieważ to Kolida była jednym ze sprzętów, jakie przyszło nam dostosowywać do PowerGPSa, tak więc testy na miejscu w Geopryzmacie były dość ważne z punktu widzenia zapewniania kompatybilności z odbiornikami Kolidy.

Testy na miejscu, czyli Android + Kolida K-9T

kolida

Zdjęcie Kolidy K-9T.(C) Geopryzmat

Już po przybyciu, na miejscu mieliśmy okazję wypróbować kolejną wersję PowerGPSa (w wersji RTK) ze sprzętem marki Kolida. Pierwsze testy z Kolidą były już przeprowadzane w styczniu (z geodetami), ale dopiero po paru miesiącach udało się opracować takie rozwiązanie, które może być wykorzystane do praktycznego pomiaru. Aby zwiększyć wygodę pracy, testy odbywały się na tablecie 10″ jak i telefonie 4″, wyposażonych w Androida w wersji powyżej 4.0

Teraz aplikacja była gotowa do „egzaminu”, który obejmował inicjalizację i wykonanie przykładowego pomiaru w oparciu o mechanizmy RTK\RTN. Pytanie, jak wyglądał egzamin i czy egzamin ten zdała?

Inicjalizacja

Inicjalizacja odbiornika sprowadza się do wysłania do odbiornika odpowiednich komend sterujących. Co prawda niektóre odbiorniki potrafią same z siebie wysyłać dane w popularnym formacie NMEA, ale odbiornik, jaki mieliśmy okazję testować był oparty o płytę Trimble, która z kolei wymaga odpowiedniej konfiguracji i inicjalizacji.
Jednak zadanie było utrudnione, ponieważ nie wystarczy przestawić odbiornika tak, aby wysyłał dane w formacie NMEA. Niestety w tym przypadku dysponujemy zbyt małą ilością danych, aby mówić o pobraniu wszystkich parametrów do wykonania profesjonalnego pomiaru i przygotowania raportu RTK. Trzeba było rzucić się na głęboką wodę i opracować mechanizm, który potrafiłby wycisnąć więcej z odbiornika.

W przypadku Androida, w momencie gdy chcemy przygotować sprzęt do działania w tym systemie, trzeba zapewnić odpowiedni kanał komunikacji. Krótko mówiąc: trzeba w sprzęcie (telefonie lub tablecie) włączyć moduł Bluetooth, wykryć port odbiornika i sparować go w systemie. To zajęło chwilę i można już było uruchomić RTK PowerGPS i skonfiguorwać komunikację.

W pierwszej kolejności trzeba było przejść do ustawień GPS i wskazać konkretny model (Kolida K-9T), a następnie właściwy port Bluetooth (ten sparowany) odbiornika. Przy okazji można było zaznaczyć logowanie surowych danych z anteny (dobre do celów analiz i diagnostycznych). Teraz można już było uruchomić połączenie z GPS poprzez klik w ikonę symbolu GPS nr 1.

Tutaj mała dygresja: PowerGPS był tak zaprojektowany, aby mógł umożliwić obsługę wielu GPSów naraz. Jest to celowe rozwiązanie. Pierwszy raz zastosowane w SkyRaster w 2010r. przy okazji tworzenia prostego oprogramowania na Windows do wykonywania pomiarów z 3 odbiorników z uśrednianiem.

W przypadku sprzętów RTK użytkownik przecież może chcieć wykorzystać w terenie zarówno wbudowany w Androida GPS (do lokalizacji obiektu), jak i zewnętrzny RTK (do precyzyjnego pomiaru). Niestety standardowy mechanizm Androida nie pozwala na tak elastyczne działanie (a także wspieranie GPS Bluetooth), wobec czego musiałem zaprojektować ten mechanizm tak, aby obsługiwał zarówno zewnętrzne GPS (protokół NMEA lub inny, np. Trimble), jak i wbudowany w Androida moduł GPS. Oddanie do dyspozycji możliwości konfiguracji i korzystania z dwóch GPSów naraz było więc naturalnym krokiem w celu zapewnienia większej uniwersalności rozwiązania.

Jednak wróćmy do naszego „egzaminu”. Uruchamiamy GPS i co się dzieje?

Chwila prawdy… widzimy już podświetloną na niebiesko ikonkę (symbolizującą poprawne połączenie z Bluetooth) oraz migające ikony przesyłu danych (prawy górny róg ekranu). Jednakże status pomiaru (informacje o typie rozwiązania, współrzędnych, precyzji) wciąż są puste… czyżby się nie udało?

Niestety byliśmy zbyt zaaferowani testami, aby dokonać zdjęć na miejscu. Powyższy zrzut ekranu przesłany przez jednego z uczestników projektu PowerGPS, na telefonie z Androidem – tuż po włączeniu RTK.

Nagle status rozwiązania rozbłyska rozwiązaniem RTK Float, a współrzędne i precyzja pokazują się!

Oznacza to, iż odbiornik wszedł w tryb pozycjonowania z dokładnością centymetrową – jest to już RTK, więc nie SPS (czyli pojedynczy pomiar, jak w amatorskich odbiornikach nawigacji GPS). Dane są prawidłowo dekodowane i współrzędne przestrzenne są podawane.

Sukces!

Tak, jest to już wstępny sukces, ale pomiar geodezyjny wymaga również przyjęcia i podawania współrzędnych w określonym układzie. W Polsce obecnie obowiązuje układ 2000, zatem trzeba przeliczyć współrzędne globalne WGS84 (standardowo otrzymywane z GPS) na współrzędne lokalne (czyli właśnie 2000).

Przechodzimy zatem do ustawień i wyboru. Wcześniej domyślnie ustawiłem układ jako 1992 (poprzednio obowiązujący w pewnych zakresach prac).  W przypadku 2000 trzeba wybrać wersję z odpowiednią strefą, zależną od rejonu w jakim prowadzimy pomiary (są 4 strefy, 5/6/7/8 wg południków 15-18-21-24).

Ustawiamy zatem układ i po chwili widzimy współrzędne z układzie 2000.

To jednak nie wszystko, bo wciąż są to współrzędne płaskie a wysokości podawane w odniesieniu do elipsoidy WGS84. Jako, że w Polsce obowiązuje układ Kronsztad 86 (czasem spotykany jest też Amsterdam), wysokości trzeba przeliczyć wg tzw. odstępów/siatki geoidy, jaka jest publikowana przez GUGIK. W kontrolerach bywa tak, że dla całej Polski siatka jest na tyle duża, iż potrafi skutecznie spowolnić nawet najmniejsze pomiary. W przypadku RTK PowerGPS opracowałem specjalny autorski algorytm, który potrafi obsługiwać pomiary z użyciem kilku geoid naraz, bez spowolnień aplikacji. Algorytm ten zresztą opracowany został na potrzeby Raportów GPS – jak widać tematy się uzupełniają i skoro w Raportach funkcja ta jest dostępna, teraz trzeba ją było tylko zintegrować z aplikacją Androidową.

W naszym przypadku, do dyspozycji mieliśmy dwie geoidy (Kronsztad 86 i Amsterdam). Najpierw testy wykonano na geoidzie Kronsztad 86, później na geoidzie Amsterdam, dzięki czemu sprawdzono w praktyce możliwość uzyskiwania zredukowanych współrzędnych wysokościowych normalnych. I w tym przypadku Android i RTK Power GPS spisał się znakomicie.

A może tak dalmierz?

disto-tabletNa testy wzięliśmy również dalmierz Disto D8, pozostały po wcześniejszych projektach. Dalmierz ten ma tę zaletę, iż posiada możliwość komunikacji Bluetooth w zakresie pomiarów odległości, a także wbudowany wygodny cyfrowy celownik – kamerkę. Kolejny test bowiem zakładał możliwość podłączenia dalmierza do Androida (podczas pracy z Kolidą) i wykonania prostego pomiaru (np. wcięcia liniowego lub offsetu).

I w tym przypadku okazało się, iż nie ma problemu z połączeniem, a aplikacja pozwoliła na szybkie dodanie odpowiedniego zestawu obliczeń geodezyjnych i wykorzystanie dalmierza do szybkiego wykonania pomiaru odległości (bez konieczności ręcznego wpisywania do aplikacji).

Dalmierz Bosch GLM

Dalmierz Bosch GLM

Dalmierz D3a BT

Dalmierz D3a BT

Oczywiście, jeśli nie dysponujemy dalmierzem z opcją Bluetooth, można pomiary wpisać przy pomocy dostępnej w programie klawiatury ekranowej (wygodniejszej niż ta domyślnie dostępna w Androidzie).

Jednakże Bluetooth pozwala na zwiększenie wydajności i łatwości obsługi. Aplikacja obsługuje również inne dalmierze Disto, np. A6 oraz D3a BT,  a także dalmierz Bosch GLM100C.

 

 

A co z trybem RTK Fixed i informacjami o stacjach bazowych?

Jak wiemy w geodezji i precyzyjnych pomiarach GPS należy wykorzystywać tryb Fixed, czyli gwarantujący największą precyzję pomiaru (często milimetrową). Testy w następnych dniach pozwoliły na uzyskanie także namiaru typu RTK Fix, jednakże aplikacja w tamtym czasie wciąż nie była w stanie pokazać informacji o stacjach bazowych. Pobrane wtedy informacje posłużyły jednak do wykonania zmian i w obecnej wersji aplikacja już potrafi wyświetlać te dane.

Przed Państwem… Ultra Adapter

uaTak...Na scenę egzaminacyjną wszedł przy okazji Ultra Adapter. To urządzenie produkcji SkyRaster z przełomu 2009-2010r. stanęło w szranki, tym razem z tachimetrem marki Kolida. Celem było sprawdzenie, czy dałoby się zapewnić bezprzewodową komunikację z kontrolerem (SurvCE). Tutaj znalazło się przypadkiem – ot, okazało się, że fajnie by było sprawdzić jak będzie działać, a że przy okazji miałem ten sprzęt ze sobą – to można było zrobić kolejny test.

Tak więc próbujemy podpiąć adapter poprzez kabel RS232 dostarczany z tachimetrem. I tutaj zgrzyt, bo po aktywacji komunikacji transmisja nie działa! Poddajemy się? Nie… po prostu wyjmujemy inny kabel, podłączając jako przejściówkę pomiędzy przewodem RS232 za wejściem RS232 w adapterze. Różne urządzenia czasem wymagają różnego przepięcia pinów w RS-ie i tutaj taki kabel może być przydatny. Jednakże kable które mam ze sobą mają ten sam układ pinów, a komunikacji dalej nie ma. Co zrobić?

Pytam się czy mogę użyć lutownicy. Biorę scyzoryk i zdecydowanym ruchem tnę kabel pośrodku, a następnie chwytam za narzędzie do odsłaniania przewodów, lutownicę i przygotowuję odpowiednie połączenie. Po chwili (myślę, że moje uzdolnienia elektroniczne pozostawiają wiele do życzenia, jeśli patrzeć na zawodowych elektroników) jednak udaje mi się zapewnić połączenie i mamy bezprzewodową komunikację! Ścieżka jest przetarta, komunikacja jest możliwa i nie trzeba pozbawiać tachimetru gwarancji, próbując wmontować mu układ Bluetooth. Po prostu adapter UA-110 i nawet brak Bluetooth w tachimetrze nie jest już problemem!

Na starszych wersjach Androida zadziała?

Testy przeprowadzaliśmy również na takim terenowym tablecie z Androidem (powiedzmy lekko pancernym – czyli ogumowanym, w przeciwieństwie do kawałków szkła, jakie mamy okazję spotykać w typowych modelach telefonów/tabletów). Tablet z kolei oferował ekran 7″ i niestety posiadał Androida 3.2 bez opcji upgrade do 4.0. Ponieważ RTK PowerGPS wymagał wtedy wersji 4.0, cóż, trzeba było obejść się smakiem…

Na szczęście, już pierwszego dnia po powrocie, udało się zapewnić pierwszą działającą wersję na systemie 3.2, tak więc tablet nie został wykluczony z zakresu testów, a przy okazji użytkownicy starszych wersji systemu Android będą mogli spróbować jak działa u nich seria PowerGPS. Niestety zejście do obsługi wersji poniżej 3.2 okazało się na razie niemożliwe, bowiem Android w starszych wersjach nie wspiera pewnych mechanizmów, które są obsługiwane w bieżącej wersji aplikacji. Myślę jednak, iż na początek powinno to zupełnie wystarczyć.

Co teraz?

Teraz szykujemy nową wersję aplikacji – z poprawkami oraz nowymi możliwościami (m.in. przekazywanie poprawek NTRIP do wskazanego portu kontrolera lub odbiornika). Tym razem aplikacja będzie dostępna dla szerszej grupy odbiorców, tak więc każdy będzie mógł sprawdzić, jak sprawuje się na danym sprzęcie.

Konfiguracja poprawek NTRIP na przykładzie Małopolskiego Systemu Pozycjonowania Przestrzennego

Konfiguracja poprawek NTRIP na przykładzie Małopolskiego Systemu Pozycjonowania Przestrzennego

Obliczenie powierzchni i obwodu w oparciu o przykładowe punkty.

Obliczenie powierzchni i obwodu w oparciu o przykładowe punkty. W tle OpenStreetMap.

Ekran wyboru obliczeń w wersji najbardziej rozbudowanej, tj. RTK Power GPS PRO

Ekran wyboru obliczeń w wersji najbardziej rozbudowanej, tj. RTK Power GPS PRO

Więcej informacji wkrótce!

One response on “Android z wizytą w Warszawie

  1. GeodetaSuwalki

    Muszę powiedziec, że robicie na prawdę świetną robotę. Zaczytałem się w artykułach i w sumie uważam, że aplikacje na prawdę ma to szansę bytu. Chciałbym zobaczyć to z czasem „w praniu” i powiem szczerze, że trzymam kciuki za dalszy rozwój projektu. Pozdrawiam gorąco

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Current ye@r *