Wybór akcelerometru dla funkcji Deduced Reckoning

11

Nigdy wcześniej nie korzystałem z akcelerometru, ale zdaję sobie sprawę, że pochodzą one z I2C, SPI i wyjść analogowych. Jeśli zdecyduję się na użycie urządzenia I2c lub SPI, czy będę kumulować błędy z powodu czasu komunikacji?

Czy szybkie próbkowanie sygnału analogowego może dać mi dokładniejszą pozycję dedukcyjną niż przy użyciu I2C?

Czy tak będzie w przypadku

  1. Robot poruszający się po pokoju
  2. Robot poruszający się w terenie zewnętrznym i prawdopodobnie ześlizguje się i stacza po zboczu.

Poza tym nie mam poczucia Gs. Próbowałem szybko poruszać ręką z telefonem z Andro-czujnikiem w pięści i zobaczyłem, że odczyty nasycają się przy 20 m / s 2 . Jakiego G mogę spodziewać się, że mój robot doświadczy, jeśli zostanie uderzony przez innego robota poruszającego się w tłuszczu lub uderzony przez szybko idącego człowieka?

Lord Loh.
źródło

Odpowiedzi:

5

Zwiększenie częstotliwości próbkowania czujnika nie poprawia jego dokładności ani precyzji. Jest to cecha czujnika, której zwykle nie można zmienić. Jeśli próbujesz oszacować swoją pozycję poprzez integrację przyspieszeń sam, na pewno będzie gromadzić błąd w czasie, ponieważ każdy czujnik jest głośny. Jeśli chcesz użyć akcelerometrów do określenia pozycji lub prędkości, powinieneś połączyć je z innym czujnikiem, który faktycznie mierzy pozycję (nawet z mniejszą precyzją) lub prędkość. Następnie możesz połączyć te różne sygnały czujników z filtrem Kalmana, aby uzyskać rozsądną ocenę tego, gdzie jesteś i jak szybko się poruszasz.

Biorąc pod uwagę siły G, weź pod uwagę, że 1 G wynosi 9,81 m / s ^ 2, co wydaje mi się dużo, w kontekście małych robotów hobbystycznych, przynajmniej w przypadku robotów wewnętrznych. Na zewnątrz może być inna historia, w zależności od mocy twojego silnika. Nasycenie przy 20 m / s ^ 2 powinno wystarczyć.

Daniel Eberts
źródło
4

Pomyśl o szybkości pętli sterowania. Typowa szybka prędkość pętli sterowania wynosi 1 kHz. Niektóre roboty stosują szybsze tempo, inne wolniejsze. Zwykle prędkość pętli sterowania jest wyższa, niż jest to potrzebne.

Każda ramka kontrolna trwa więc 1000us. W ramach tej ramki kontrolnej musisz:

  • Próbkuj swoje czujniki
  • Wykonaj obliczenia kontrolne
  • Wyślij nowe wyjścia do silników

Tak długo, jak możesz to wszystko zrobić wygodnie w określonym czasie, nie masz żadnych problemów. Jak długo trwa odczyt akcelerometru? Jeśli jest to urządzenie 3-osiowe, wykorzystujące I2C 400 kb / s, odczyt danych może zająć około 160us. To pozostawia 840us do wykonania obliczeń i aktualizacji silników. Nawet 8-bitowy PIC może sobie z tym poradzić.


O siłach G. Podczas uderzenia mogą być zaskakująco wysokie. Na przykład, jak myślisz, ile uderzenia wymagałoby złamanie dysku twardego? Prawdopodobnie nie tak bardzo. Cóż, dysk twardy, który niedawno powiedziałem, że jest oceniany na maksymalne przyspieszenie 75G. Więc spodziewaj się, że dwa roboty zderzające się wyprodukują co najmniej kilka G. Niemożliwe jest dokładne oszacowanie, ponieważ zależy to w dużej mierze od mechanicznej konstrukcji robotów. Jeśli oba są całkowicie solidne jak piłki do snookera, możesz spodziewać się bardzo dużych przyspieszeń. Jeśli mają jakąś elastyczną powłokę, znacznie zmniejszy to przyspieszenie. Ale pytanie brzmi: czy naprawdę musisz znać rzeczywistą wartość przyspieszenia podczas uderzenia?

Rocketmagnet
źródło
1

Z twojego pytania wynika, że ​​próbujesz ustalić swoją pozycję z akcelerometrów. Zobacz, jakie błędyoczekujesz wcześniej, a potem może ponownie się zastanowisz. Oszacowanie pozycji zawiera bardzo duże błędy, głównie z powodu niepewności orientacji. Aplikacja na statkach, samolotach, rakietach itp. Wykorzystuje bardzo drogie, wysoce precyzyjne IMU klasy nawigacyjnej. Opóźnienie, do którego sprowadza się twoje pytanie, nie stanowi większego problemu. Bardziej istotna jest synchronizacja między innymi czujnikami (np. Gyros). Akcelerometry zwykle nie są używane do szacowania pozycji (w niektórych przypadkach jest to pomocne, ale tylko przez krótkie okresy), ale raczej do kompensowania dryfu żyroskopu w szacowaniu orientacji. Możesz także użyć ich bezpośrednio do oszacowania swojej orientacji, ale wtedy Twoja ocena jest zaburzona przez dynamiczne przyspieszenia.

Jakob
źródło