Telefon z Androidem jako komputer pokładowy

Aparatura pokładowa, układy pomiarowe i wykonawcze.
placydo
PROFI
Posty: 710
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: Kielce

Telefon z Androidem jako komputer pokładowy

Post autor: placydo »

Tym razem temat zakładam tutaj ponieważ załączam zapisane ścieżki z ostatniego testu. Ścieżki te jednoznacznie wskazują poligon, którego używają Krakowianie. Byłem tam gościem i nie wypada mi udostępniać lokalizacji osobom postronnym a wiem, że do tego działu mają dostęp jedynie osoby z głową na karku.

Innym powodem jest też to, że pewne osoby budujące wyrzutnie sterowane telefonem nie będą rzucały pomysłów typu <span style="font-style: italic">jak wykorzystać telefon/system do naprowadzania rakiet na cel</span> czy inne podobne (notabene możliwe do wykonania).



Z miejsca przepraszam Was za wcześniejsze "rzucenie tematu" w stylu "podnieconego gówniarstwa". Czas rozwinąć temat nieco szerzej, dokładniej i bardziej technicznie.



7 listopada dzięki uprzejmości Kacpra udało się wystrzelić rakietę z telefonem HTC Dream wyposażonym w system operacyjny Android w wersji 1.6. Filmy i zdjęcia do wglądu w temacie o rakiecie Anihilacja.



Generalnie lot rakiety zakończył się sukcesem. Ale czy urządzenie spełniło wszystkie oczekiwania? To już osądzimy razem.

Na wstępnie załączam pliki z zapisem lotu uzyskane dzięki aplikacji MyTracks w 3 dostępnych wersjach.

http://gheed.webd.pl/rm/Anihilacja.kml

http://gheed.webd.pl/rm/Anihilacja.gpx

http://gheed.webd.pl/rm/Anihilacja.csv



Z plikiem GPX możliwe jest odczytanie przebiegu trasy razem z wysokością - należy odznaczyć <span style="font-style: italic">Dopasuj wysokość do wysokości gruntu</span> (można również wyświetlić punkty pośrednie).

Według symulacji Kacpra rakieta powinna uzyskać pułap około 300m (proszę o poprawienie mnie jeśli mijam się z prawdą).

Na ścieżce widoczny jest moment załadowania telefonu do rakiety, przeniesienia jej na miejsce startu, lot, lądowanie oraz doniesienie do samochodu. Trajektoria lotu wydaje się być poprawna. Wysokość oceńcie proszę sami.



Na tamtą chwilę nie działało namierzanie telefonu/rakiety. Jak się okazało aplikacja MyTracks gryzła się z DroidTrackerem (aplikacja od namierzania telefonu). Działo się tak przez stary system jaki posiadałem (w wersji 1.6).

Równie pechowy okazał się podgląd przez VNC Server. Już po paru minutach telefon sam się zrestartował i konieczne było ponowne rozłożenie rakiety w celu odpalenia wszystkich aplikacji.

Oba te problemy znalazły rozwiązanie po przeflashowaniu telefonu na nowy system w wersji 2.1.

Na chwilę obecną DroidTracker nie jest zakłócany działaniem jakiejkolwiek innej aplikacji natomiast VNC działa stabilnie i nie powoduje już restartowania się systemu.

Film z kamery pokładowej (wygląda tak: przyp. red.)

[youtube]http://www.youtube.com/watch?v=xKBM936HyI0[/youtube]

Pomysł na zrealizowanie transmisji na żywo poprzez VNC upadł przez ograniczenia nałożone przez operatora sieci (dynamiczny adres IP, zablokowane porty).

Nie ma tego złego jednak, co nie wyszłoby na dobre.

Okazuje się, że istnieje aplikacja pozwalająca na żywo transmitować obraz z telefonu do internetowej telewizji ustream (transmisja na żywo + zapis na serwerze ustream + zapis do pamięci telefonu).

Przeprowadziłem wszystkie potrzebne testy i zakończyły się one powodzeniem. Niestety ilość klatek pozyskanych przy transmisji obrazu jest ściśle uzależniona od jakości połączenia internetowego (GPRS - brak transmisji, EDGE - opóźnienie około 7 sekund przy max 1 klatce na sekundę aż do 3G gdzie transmisja jest na dość wysokim poziomie).

Kacper zapowiedział lot swojej rakiety na wysokość 1,5km jeszcze w tym roku. Chciałbym wziąć w tym udział i po raz kolejny przetestować sprzęt na pokładzie. Tym razem z transmisją na żywo dla osób zainteresowanych + zapis ścieżki przy pomocy programu MyTracks + zapis sił działających na telefon + odnalezienie rakiety po wylądowaniu przy pomocy nadajnika GPS.

Co z tego wyjdzie? Czas pokaże.



Na koniec pytanie: czy myślicie, że warto kontynuować ten temat? Czy może się to przydać?

Pozdrawiam
Awatar użytkownika
jaskiniowiec
Administrator
Posty: 2379
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: Kraków
Kontakt:

Post autor: jaskiniowiec »

Na pewno warto dalej robić próby w tym kierunku. Zawsze jest to rozwijające.

P.S. Co mam zrobić dokładnie z tymi danymi co podałeś? Zapisać i otworzyć w google earth?
placydo
PROFI
Posty: 710
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: Kielce

Post autor: placydo »

Polecam plik GPX

Otworzyć Google Earth, następnie Plik -> Otwórz, zmienić pliki typu na GPX -> zaznaczyć <span style="font-style: italic">Utwórz trasy KML</span> i <span style="font-style: italic">Utwórz linie KML</span> i odznaczyć <span style="font-style: italic">Dopasuj wysokość do wysokości gruntu</span>.

Dane CSV można przeglądać np w Excelu (i tam poddać dalszej obróbce)
Awatar użytkownika
robercik
Supersonic PROFI
Posty: 1362
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: Gdynia
Kontakt:

Re: Telefon z Androidem jako komputer pokładowy

Post autor: robercik »

Moim zdaniem najważniejsza funkcjonalność to namierzanie rakiety, będzie zawsze działać po wylądowaniu i nad tym należy się skupić.

Film z kamery pokładowej jest marnej jakości, nie warto się męczyć z przepychaniem tego przez sieć, tym bardziej że anteny sektorowe stacji bazowych w pionie mają wiązkę szerokości około 50 stopni. Wątpię żeby z 1,5 km dało się coś porządnie przesyłać. Tym bardziej że przesył na żywo przydałby się dla bardzo dużych projektów typu 10km, do lotów modelarskich raczej nie będzie wykorzystywany.



pzdr
Bullet
PROFI
Posty: 284
Rejestracja: niedziela, 30 sty 2011, 18:31
Lokalizacja: Olsztyn

Post autor: Bullet »

Korzystając ze strony http://www.gpsvisualizer.com/ uzyskałem taki oto wykres

Obrazek



Jeśli jest to wykres prawidłowy to wydaje się że znacznie zaniżony według przewidywań Kacpra.
placydo
PROFI
Posty: 710
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: Kielce

Post autor: placydo »

No właśnie - na tym się najbardziej zawiodłem. Przydałby się jeszcze dodatkowy sprawdzony sposób pomiaru wysokości - tak, żeby porównać wyniki. Pozostaje nadzieja, że stary system/program były wadliwe. Będzie to również weryfikowanie w niedalekiej przyszłości.
placydo
PROFI
Posty: 710
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: Kielce

Post autor: placydo »

Jestem w trakcie pisania rejestratora danych z sensorów telefonu.

Na chwilę obecną aplikacja pobiera dane z akcelerometru (w trzech płaszczyznach) oraz dane jak ja to nazywam orientacyjne - podane w stopniach - na boki oraz obrót wokół własnej osi.

Docelowo chciałbym również zapisywać dane pochodzące z czujnika pola magnetycznego i temperaturę. Chociaż co do przydatności tych dwóch ostatnich nie jestem pewien.

Wszystko będzie zapisywane do pliku arkusza kalkulacyjnego wraz z dokładnym znacznikiem czasu.

Najbardziej jednak zależałoby mi na tym, żeby uczynić tą aplikację działającą w tle - tak, żeby możliwe było użycie kamery podczas lotu.

Aplikacja nie będzie zapisywała danych z GPSu ponieważ tym zajmuje się już inna darmowa aplikacja.



Pytanie brzmi - ile próbek w ciągu sekundy interesuje Was? I czy jest sens pisać tą aplikację (czy kogoś ogólnie zainteresują dane z niej pozyskane)?

Pozdrawiam
Awatar użytkownika
jaskiniowiec
Administrator
Posty: 2379
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: Kraków
Kontakt:

Post autor: jaskiniowiec »

Co do ilości próbek, to sprawa prosta: im więcej - tym lepiej. O sens działań nie pytaj. Jeśli Ty widzisz sens, to to rób.
Awatar użytkownika
PIOTR
PROFI
Posty: 933
Rejestracja: niedziela, 30 sty 2011, 18:31
Lokalizacja: Białystok

Post autor: PIOTR »

Odnośnie próbkowania: cokolwiek byś programował przyjmij zapis na jednej osi czasowej wszystkich pozyskanych danych. Wszelkich, a częstotliwość uzależniłbym od przewidywanej prędkości. Przykładowo dla 1Ma przyjąłbym 50 próbek na sekundę co daje w przybliżeniu pomiar/informację co 7 metrów. Odnośnie temperatury: jest to jeden z najważniejszych parametrów. Od kilku miesięcy kombinuję nad opomiarowaniem temperatury krawędzi natarcia stateczników i grota głowicy i mam problemy.

Czy jest sens dalszej pracy? Tak, oczywiście, że tak - osiągnąłeś bardzo dużo. Dlaczego warto? Ponieważ wiedzą absolutną jest poznanie kresu możliwości.
placydo
PROFI
Posty: 710
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: Kielce

Post autor: placydo »

Wnioski wyciągnięte, sugestie wzięte jak najbardziej do siebie!

Po ciężkim boju udało mi się zmusić aplikację do działania w tle i co pozwoli na odpalenie innych aplikacji zbierających dane. Generuje ona około 10kb danych na sekundę podczas ruchu.

Mogę troszkę zagmatwać ale postaram się wyjaśnić jak wyglądają sprawy:

Telefon jest w stanie zwrócić na raz dane z tylko jednego pomiaru (w przykładzie poniżej Akcelerometr i Orientacja). Tak więc zapisuje dane do pliku - jeśli jakaś wartość się nie zmienia - jest ona przepisywana do następnego punktu czasowego do momentu aż nie ulegnie zmianie.

Jeśli chodzi o czas to jest on podawany w ms - jest on odliczany od momentu włączenia aplikacji, a nie uruchomienia zapisu - dlatego dane zaczynają się pojawiać po 9 sekundach.

Najcięższe za mną - teraz pozostaje dodanie odczytywania temperatury i danych z czujnika pola magnetycznego a także przetestowanie tego wszystkiego w rakiecie. Bardzo interesuje mnie do jakiego zakresu działa akcelerometr.

Poniżej zamieszczam pliczek wygenerowany przez urządzenie (rzucenie na miękkie podłoże, parę obrotów).



http://gheed.webd.pl/rm/20101121180949.rar
ODPOWIEDZ