Zadania wykonywane w czasie laboratorium należy dokumentować w postaci zdjęć przedstawiających postępy prac.

 

Zadanie 1 – 3,5

Wykorzystać program z poprzednich zajęć.

  • dodać do wątku obsługi czujnika, odczytywanie wartości mierzonych z akcelerometru i żyroskopu, dane udostępniać przy użyciu odpowiedniego mechanizmu kolejki. Odczyt dokonywać z częstotliwością 10Hz,
  • odczytane dane przeliczyć na odpowiednie jednostki w zależności od czujnika, wyniki publikować w kolejnej kolejce,
  • porównać przyśpieszenie mierzone przez akcelerometr z przyśpieszeniem grawitacyjnym – wyznaczyć przyśpieszenie ziemskie z odczytów z 3 osi, kiedy obliczone przyśpieszenie będzie równe 9,8066m/s^2?
  • dodać wątek, który na podstawie danych pomiarowych z akcelerometru wyznaczy położenie kątowe modułu w dwóch osiach (poziomnica), dane przekaże do nowej kolejki,
  • zmodyfikować wątek wyświetlający informacje w terminalu o nowe pomiary,

Zadanie 2 – 4,5

  • dodać kolejny wątek zajmujący się obliczaniem i dystrybucją wyników:
    • oblicza kąt obrotu modułu na podstawie całkowania danych z żyroskopu dla 3 osi. Porównać nowe kąty z wynikami z poprzedniego zadania,
    • częstotliwość wykonywania wątku musi być bardzo dokładna – zastosować funkcję “vTaskDelayUntil”,
  • wszystkie nowe dane mają być wyświetlane przez wątek obsługujący komunikację z terminalem.

Zadanie 3 – 5

  • polepszyć wyniki wyznaczania orientacji z poprzednich zadań, przez zastosowanie jakiejś metody:
    • uśrednianie,
    • filtr komplementarnego,
    • filtr alfa/beta,
    • filtr Kalmana,