Zaloguj się do swojego konta Altimeter Cloud
Nie masz konta? Utwórz konto
Wyślemy link potwierdzający na Twój e-mail. Sprawdź folder spam, jeśli go nie otrzymasz.
Masz już konto? Zaloguj się
Każdy lot, który zapiszesz, trafia do pliku CSV – zwykłej tabeli tekstowej, którą możesz otworzyć w dowolnym programie arkusza kalkulacyjnego lub przeczytać własnym kodem. Ta strona opisuje ten format szczegółowo. Dotyczy ona płytki Revision 4 lub nowszej, która zapisuje pełny zestaw danych ruchu; płytka Revision 3 lub wcześniejsza używa tego samego układu z pominięciem kolumn ruchu, a na końcu znajduje się notatka dotycząca różnic.
Cały plik, nagłówek i każdy odczyt, to oczyszczony wynik True Path i jest podpisany, aby można było sprawdzić, czy nie został zmieniony. Więcej na ten temat znajduje się na stronie True Path i apogee oraz na stronie bezpieczeństwa.
iWSKAZÓWKA
Najłatwiej przejrzeć lot, wgrywając plik bezpośrednio na Altimeter Cloud. Nie musisz sam rozszyfrować surowego CSV: strona wyświetli Twój lot w przejrzystych wykresach i liczbach, które są łatwe do przeczytania. Ta strona jest naprawdę dla każdego, kto chce pracować bezpośrednio z surowymi danymi. Pełny przewodnik znajduje się na stronie Altimeter Cloud.
Plik ma trzy części, w tej kolejności:
Na początku znajduje się nagłówek czternastu wierszy zawierający streszczenie lotu i dokładne warunki i ustawienia, w jakich został zarejestrowany. Następnie jeden pusty wiersz. Potem jeden wiersz nazw kolumn, a następnie dane lotu, jeden wiersz na każdą zarejestrowaną próbkę. Innymi słowy nagłówek zajmuje szesnaście wierszy, a odczyty zaczynają się w wierszu siedemnastym.
Nagłówek jest ułożony jako pary etykiety i wartości umieszczone obok siebie w kolumnach, dzięki czemu czyta się czytelnie po otwarciu w arkuszu kalkulacyjnym: para z lewej, para pośrodku i na Rev4 i nowszych dalej para z prawej zawierająca liczby związane z ruchem. Jeśli piszesz parser, najprostrze podejście to przeczytanie wierszy nagłówka w poszukiwaniu potrzebnych pól, pominięcie pustego wiersza i traktowanie wszystkiego od nazw kolumn jako tabeli danych.
Nagłówek zawiera wszystko, co musisz wiedzieć, aby zrozumieć lot bez czytania ani jednego wiersza danych. Pola dzielą się na kilka grup.
Streszczenie lotu zawiera apogeum w metrach i czas jego osiągnięcia, wysokość lądowania i czas lądowania, maksymalną prędkość w górę, prędkość lądowania i średnią liczbę próbek na sekundę. Pola identyfikacyjne to tag Twojego urządzenia, tag konkurenta i numer seryjny altimetru, czyli dane używane do dodania lotu do Twojego konta na altimetercloud.com.
Warunki i ustawienia obejmują ciśnienie na poziomie morza i temperaturę statyczną używane do wyliczenia wysokości, czy wykorzystano temperaturę czujnika, temperaturę płytki na początku i końcu lotu, napięcie baterii na początku i końcu, wersję oprogramowania, rewizję płytki i wiele indywidualnych ustawień, takich jak orientacja, ochrona startu, tryb hybrydowy, szybkość próbkowania i zatrzymanie nagrywania. Istnieje również jedno pole Settings string, które pakuje całą konfigurację używaną w locie w jeden wiersz, i pole Adjusted log, które wskazuje „nie" dla oryginalnego lotu i informuje, czy dziennik został od tego czasu ponownie wyprowadzony z innym ciśnieniem lub temperaturą.
Ponieważ Settings string jest zapisany w stenogramie, oto co każdy klucz zawiera. Konfigurowalne pasują do opcji opisanych na stronie ustawień.
| Klucz | Zawiera |
|---|---|
| fp | Ciśnienie na poziomie morza użyte do wyliczenia wysokości (hPa) |
| ft | Temperatura statyczna użyta (°C) |
| ut | Czy temperatura czujnika została użyta (0 lub 1) |
| ss | Szybkość próbkowania (Hz) |
| sr | Wskaźnik próbkowania |
| ms | Maksymalne próbki |
| ld | Próg detekcji startu (m) |
| lp | Ochrona startu (mG) |
| sl | Blokada uruchamiania |
| rs | Zatrzymanie nagrywania |
| mp | Utrzymuj moc |
| hm | Tryb hybrydowy |
| or | Orientacja |
| se | Włączanie synchronizacji (Rev4 i nowsze) |
| os, ii, kf | Wewnętrzne ustawienia obsługi ciśnienia (oversampling i parametry filtru) |
| rcp | Odniesienie gruntu przechwycone przy starcie |
| rmi | Czas startu w milisekundach |
| cgx, cgy, cgz | Przechowywane odsunięcia kalibracji żyroskopu (Rev4 i nowsze) |
| cax, cay, caz | Przechowywane odsunięcia kalibracji akcelerometru (Rev4 i nowsze) |
Na koniec hash weryfikacyjny to podpis HMAC-SHA256, który pozwala Altimeter Cloud potwierdzić, że plik nie został zmieniony. Na Rev4 i nowszych prawa strona nagłówka dodaje zestaw statystyk ruchu: czasy burnout i wyrzutu, prędkości burnout i zniżki, maksymalne i średnie przyspieszenia podczas wspinaczki, zniżki i spalania, start pitch, roll, yaw i tilt, dominująca oś oraz szczegóły czasowe.
!WAŻNE
Nie edytuj dziennika lotu, jeśli chcesz go zachować jako ważny. Podpis weryfikacyjny jest obliczany na podstawie dokładnej zawartości pliku, więc zmiana czegokolwiek, nawet pojedynczej liczby lub dodanej spacji, oznacza, że już się nie zgadza. Altimeter Cloud akceptuje tylko oryginalne, niezmienione dzienniki, więc edytowany plik nie przejdzie weryfikacji i nie będzie mogły być wgrany. Jeśli chcesz pracować z danymi, skopiuj plik najpierw i edytuj kopię, a oryginał przechowuj bezpiecznie.
Po pustym wierszu i wierszu nazw kolumn każdy wiersz to jedna zarejestrowana próbka. Kolumny pojawiają się w tej kolejności:
| Kolumna | Jednostki | Format | Co to jest |
|---|---|---|---|
| Time(ms) | ms | liczby całkowite | Czas od startu, ze startem jako zero |
| Altitude(m) | m | 3 miejsca dziesiętne | Wysokość powyżej punktu startu |
| Velocity(m/s) | m/s | 2 miejsca dziesiętne | Prędkość pionowa, obliczona na podstawie śladu wysokości |
| acceleration_x(mG) | mG | liczby całkowite | Przyspieszenie wzdłuż osi X płytki |
| acceleration_y(mG) | mG | liczby całkowite | Przyspieszenie wzdłuż osi Y |
| acceleration_z(mG) | mG | liczby całkowite | Przyspieszenie wzdłuż osi Z |
| acceleration_total(mG) | mG | 1 miejsce dziesiętne | Ogólna wielkość przyspieszenia z odjętą 1 G grawitacji, dzięki czemu siedzi blisko zera w spoczynku |
| gyro_x | °/s | liczby całkowite | Szybkość obrotu wokół osi X |
| gyro_y | °/s | liczby całkowite | Szybkość obrotu wokół osi Y |
| gyro_z | °/s | liczby całkowite | Szybkość obrotu wokół osi Z |
| Board temp(C) | °C | 2 miejsca dziesiętne | Temperatura czujnika, zapisywana około raz na sekundę i pusta w wierszach pośrodku |
| pitch | stopnie | 2 miejsca dziesiętne | Kąt orientacji z filtra fuzji |
| roll | stopnie | 2 miejsca dziesiętne | Kąt orientacji z filtra fuzji |
| yaw | stopnie | 2 miejsca dziesiętne | Kąt orientacji z filtra fuzji |
| tilt | stopnie | 2 miejsca dziesiętne | Kąt od pionu |
Kilka rzeczy warte uwagi. Czas jest mierzony od startu, więc start to zero; ponieważ Nano przechowuje krótki bufor próbek sprzed startu, pierwsze kilka wierszy może pokazywać małe ujemne czasy. Osie przyspieszenia i żyroskopu to osie samej płytki, które wyrównują się z rakietą zgodnie z Twoim ustawieniem orientacji. Jest jeden wiersz na próbkę do maksymalnej ustawionej wartości, więc pełny dziennik może zawierać dziesiątki tysięcy wierszy.
Krótki przykład korzystający z rzeczywistych danych lotu, pokazujący nazwy kolumn i kilka wierszy z około czasu startu:
Time(ms),Altitude(m),Velocity(m/s),acceleration_x(mG),acceleration_y(mG),acceleration_z(mG),acceleration_total(mG),gyro_x,gyro_y,gyro_z,Board temp(C),pitch,roll,yaw,tilt -10,0.085,4.54,-993,35,76,-3.5,376,-12,-68,,3.40,-26.21,38.18,26.41, 0,0.141,5.76,-994,37,74,-2.6,330,-22,-74,,1.63,-26.97,35.28,27.02, 10,0.224,7.07,-992,36,75,-4.5,299,-28,-71,,-0.06,-27.61,32.71,27.61, 20,0.334,8.44,-1376,99,120,384.8,256,-29,-68,,-1.59,-28.15,30.55,28.19,
Możesz widzieć puste komórki temperatury, mały czas ujemny tuż przed startem i że każdy wiersz danych kończy się przecinkiem końcowym, więc ścisły parser zauważy jedno puste pole na końcu każdego wiersza danych.
Płytki bez czujnika ruchu używają tego samego pliku w tym samym kształcie, tylko prostszym. Kolumny ruchu, czyli trzy kolumny przyspieszenia, całkowite przyspieszenie, trzy kolumny żyroskopu i pitch, roll, yaw i tilt, są wszystkie nieobecne, a nagłówek nie zawiera statystyk ruchu po stronie prawej.
Jest jedno dodanie zamiast usunięcia: te płytki zawierają kolumnę Pressure(hPa), napisaną do sześciu miejsc dziesiętnych, zaraz po Altitude. Tak więc dziennik Revision 3 lub wcześniejszy ma zaledwie pięć kolumn, w tej kolejności: Time(ms), Altitude(m), Pressure(hPa), Velocity(m/s) i Board temp(C). Wszystko inne na tej stronie, grupy nagłówka, czas mierzony od startu i temperatura zapisywana około raz na sekundę, stosuje się w ten sam sposób.