Skocz do zawartości

Błędne odczytywanie kątów z MPU-6050


Pomocna odpowiedź

Dla mnie jako amatora filtracja wydaje się być całkiem ładna choć są opóźnienia w reakcji filtra, nie wiem tylko jak bardzo szkodliwe 😉 na ogół im bardziej zwiększam wpływ acc w filtrze, tym odpowiedź jest szybsza ale bardziej zaszumiona, a obecne nastawy (0.97 gyro, 0.03 acc) dobrałem doświadczalnie 😃

Może spróbuj zaimplementować Filtr Kalmana dla własnej edukacji, jak chcesz to podam Tobie pomocne załączniki z mojej uczelni, implementacja nie jest tak trudna jak mogłaby się wydawać.

A kąt Yaw nie jest Tobie potrzeby chociaż w zasadzie w tym MPU 6050 nie ma magnetometru tak mógłbyś podawać już kąty z filtru komplementarnego do obliczania kąta Yaw z magnetometru w celu lepszej estymacji.

Link to post
Share on other sites
Drobna wskazówka optymalizacji: Gdyby pierwsy odczyt zrobić w setup(), unikasz sprawdzania warunku if() w każdym wywołaniu tej funkcji.

No przecież, że tak... dzięki Ci bardzo! Niby drobnostka, a ważna 😉

Na dzień dzisiejszy ustaw tylko zegar wewnętrzny np. z żyroskopu. Nie wiem, który jest domyślny, ale przynajmniej jeden z nich ma dokładność 5% chyba.

Dobrze wiedzieć, muszę bliżej zapoznać się z notą gdyż najwyraźniej nie rozumiem działania układu, zajmując się kilkoma aspektami naraz czasami zakładam, że coś działa i już, nie zawsze mam czas by dojść jak coś funkcjonuje, szczególnie gdy do obecnych potrzeb wystarcza to co wiem

Nie wiem co miałeś na myśli dokładnie, ale pętlę wykonujesz z częstością 250Hz a zegar SCL wynosi pewnie 100KHz i to jeszcze jest generowany sprzętowo (o ile używasz domyślnych pinów).

Tak jak wyżej, z niewiedzy założyłem, że taktowanie MPU jest zależne od częstotliwości pobierania danych przez uC w pętli sterującej. W sumie to totalnie nie miało sensu 😉 znajdę chwilkę to nadrobię braki żeby lepiej wszystko zrozumieć, szkoda Twojego czasu na poprawianie wszystkich moich błędów 😉

Może spróbuj zaimplementować Filtr Kalmana dla własnej edukacji, jak chcesz to podam Tobie pomocne załączniki z mojej uczelni, implementacja nie jest tak trudna jak mogłaby się wydawać.

EasyPeasy_ No pewnie! Od dawna wiedziałem, że prędzej czy później zajmę się tym filtrem więc bardzo chętnie! Do tej pory zrozumienie FK mnie przerastało.. Kilka razy się do tego zabierałem, nawet korzystałem z przystępnych artykułów na forbocie, ale słabo mi poszło, a teoria i wzory mogą faktycznie troszkę odstraszyć 😃

A kąt Yaw nie jest Tobie potrzeby chociaż w zasadzie w tym MPU 6050 nie ma magnetometru tak mógłbyś podawać już kąty z filtru komplementarnego do obliczania kąta Yaw z magnetometru w celu lepszej estymacji.

Wszystko się zgadza, akurat brak zewnętrznego magnetometru spowodował, że nie mam żadnej kompensacji dryftu na tym kącie, chociaż nie jest on krytyczny z perspektywy moich obecnych i najbliższych potrzeb. Jednak mam świadomość, że MPU-6050 umożliwia wpięcie go do układu i wykorzystanie jego danych do estymacji kąta Yaw

Dzięki za pomocne odpowiedzi!

Link to post
Share on other sites
Może spróbuj zaimplementować Filtr Kalmana dla własnej edukacji, jak chcesz to podam Tobie pomocne załączniki z mojej uczelni, implementacja nie jest tak trudna jak mogłaby się wydawać.

EasyPeasy_ No pewnie! Od dawna wiedziałem, że prędzej czy później zajmę się tym filtrem więc bardzo chętnie! Do tej pory zrozumienie FK mnie przerastało.. Kilka razy się do tego zabierałem, nawet korzystałem z przystępnych artykułów na forbocie, ale słabo mi poszło, a teoria i wzory mogą faktycznie troszkę odstraszyć 😃

A kąt Yaw nie jest Tobie potrzeby chociaż w zasadzie w tym MPU 6050 nie ma magnetometru tak mógłbyś podawać już kąty z filtru komplementarnego do obliczania kąta Yaw z magnetometru w celu lepszej estymacji.

Wszystko się zgadza, akurat brak zewnętrznego magnetometru spowodował, że nie mam żadnej kompensacji dryftu na tym kącie, chociaż nie jest on krytyczny z perspektywy moich obecnych i najbliższych potrzeb. Jednak mam świadomość, że MPU-6050 umożliwia wpięcie go do układu i wykorzystanie jego danych do estymacji kąta Yaw

Dzięki za pomocne odpowiedzi!

To łap: (załącznik)

od strony 24 - 30 masz modele stanu odpowiednie dla estymacji orientacji ja sobie zaimplementowałem ten ze strony 24 (Przykład 4) i działa bardzo dobrze. Na stronie 26 masz pseudokod dla mikrokontrolera, w skrócie dostajesz postać macierzową, a że implementujesz to na mikrokontrolerze to musisz sobie wszystkie elementy wymnożyć i wtedy będziesz wiedział jak każdy niezerowy element macierzy obliczać.

Pamiętaj o tym, że w przypadku takich obliczeń liczy się również kolejność obliczeń jeśli np. do obliczania jednego z elementów macierzy P kowariancji będziesz miał wzór:

P11=P22 * coś tam - P21 * coś tam

a do

P12=P11 * coś tam

to P12 musisz dać nad obliczaniem P11, bo inaczej P12 liczyłoby się nie ze starego P11, a z nowo obliczonego.

A co do wytłumaczenia działania filtru Kalmana idealnie nadaje się ta strona, jest po Hangielsku, ale to raczej nie problem: http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/

[9] Filtr Kalmana - zastosowania w prostych układach sensorycznych..pdf

Link to post
Share on other sites

EasyPeasy_, dzięki za angielski link, treść wygląda bardzo przystępnie 😃 a publikacja Pana Kędzierskiego jest mi już dość dobrze znana, więc zajmę się nim w pierwszej kolejności 😉 no i oczywiście przypilnuję rzeczy, na które zwróciłeś uwagę

Pozdrawiam, bardzo dziękuję Wam za wszelką pomoc!

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.