„Genialna” aplikacja za $0.99

Jakiś czas temu obiecałem, że na blogu pojawi się próba przetworzenia danych zarejestrowanych podczas mojego ostatniego wyjazdu na narty. Jak to w życiu bywa, nie wszystko poszło zgodnie z planem. Okazało się, że aplikacja, której używałem do rejestracji odczytów z akcelerometrów, żyroskopów i magnetometrów na moim iPhone ma jedną małą ale istotną wadę.

Data Collection

Aplikacja Data Collection wyglądała mi na najlepszego kandydata na mój kieszonkowy rejestrator… do czasu powrotu do domu. Po otwarciu plików zapisanych przez apkę moim oczom ukazał się format, który pozostawiał wiele do życzenia.

Pomijam już fakt, że aplikacja wyświetla oprócz interesujących mnie danych odczyty z GPSa ale… nie rejestruje ich. Dobra. To jeszcze jakoś przełknę. Mały skrypt w czymkolwiek i już mamy ludzki plik w formacie CSV. Teraz pozostało wrzucić te dane do pierwszego lepszego programu do rysowania wykresów celem sprawdzenia czy wszystko gra i można je już przetwarzać.

„Już za moment sprawdzę mój kod w działaniu!”

Oh, wait!

Aplikacja nie rejestruje danych w momencie, kiedy ekran telefonu jest zablokowany. Pal licho te $0.99. Nie mam danych! Co ja teraz zrobię?!

Nie ma tego złego…

Przecież wyjazd na narty to nie jedyny sposób pozyskiwania danych. Dzięki uprzejmości firmy PILC, gdzie aktualnie odbywam praktyki zostałem szczęśliwym posiadaczem zestawu pomiarów zarejestrowanych w trakcie badań motolotni Kasperwing. Firma ta zajmuje się profesjonalnie produkcją i projektowaniem rejestratorów w czym posiada długoletnie doświadczenie.

Zostałem uczulony na specyfikę pomiarów na pokładzie statków latających a w szczególności na konieczność kompensacji przyśpieszeń wynikających z dynamiki lotu a także na złożony problem eliminacji błędów pomiarowych występujących w żyroskopach. Szykuje się niezła zabawa 🙂

Dane

W końcu! Mam dane! I to nie byle jakie bo z prawdziwego lotu.

My precious! - Gollum

Co jest w nich takiego wyjątkowego? Otóż każda z próbek jest oznaczona precyzyjnym czasem jej rejestracji. Jest to niespotykane w systemach rejestracji danych, które najczęściej przyjmują stały czas próbkowania. Założenie to jest jednak dalekie od rzeczywistości.

Dlaczego to takie ważne? Tutaj muszę odwołać się do jednego z moich wcześniejszych postów na temat całkowania numerycznego. W skrócie obliczanie całki z podanych próbek polegało na sumowaniu pól trapezów, których wysokości miały długość odpowiadającą różnicy między czasem rejestracji sąsiadujących ze sobą próbek. Im dokładniejszym czasem rejestracji próbki będziemy dysponowali tym dokładniej będziemy w stanie obliczyć całkę. Każdy najmniejszy błąd podczas całkowania narasta z czasem do niewyobrażalnych wartości więc takie smaczki wbrew pozorom mają ogromne znaczenie.

Podsumowanie

Teraz już nie ma wymówek. Zabieram się do testowania tego co napisałem do tej pory. O samym systemie, z którego pochodzą dane postaram się napisać osobnego posta. Zdziwicie się jak daleko zaszła miniaturyzacja elektroniki. Także tej używanej w lotnictwie. Stay tuned!