Jak wykryć dziury za pomocą przyspieszeniomierza zamontowanego w pojeździe?

9

Obecnie studiuję DSP i FFT, jestem zupełnie nowy i od dawna zajmuję się elektroniką z Arduino i projektami hobbystycznymi. Ostatnio robię projekt, którego celem jest sporządzenie mapy dziur wzdłuż codziennych dojazdów samochodem, mierzenie nierówności na drodze. To nie jest profil drogowy, ale poddana szorstkości jazda, którą odczuwa kierowca podczas podróży. Mam przyspieszenie zamontowane w celu pomiaru przyspieszenia „pionowego” samochodu w osi Z, gdy uderzamy dziurę w wstrząsy i sprężyny tłumiącą siłę jak w modelu ćwiartki samochodu dla uproszczenia.

Zasadniczo chcę być w stanie stworzyć wykrywacz, który wykryje dziury za pomocą FFT, aby znaleźć dominującą częstotliwość przyspieszenia pionowego, a następnie mogę dopasować go do wzoru, aby wykryć trzask drzwi drzwi samochodowych lub pokrywę włazu z dziury może w przyszłości.

Nie jestem pewien, czy FFT jest właściwą drogą, wszelkie uwagi, porady i pomysły są bardzo mile widziane, stworzyłem filtr dolnoprzepustowy, aby odfiltrować drgania o wyższej częstotliwości z układu napędowego i silnika.

Jakieś pomysły na temat „szorstkości” odczuwanej przez pasażerów / kierowcę w samochodzie? Myślałem o przeprowadzeniu testów drogowych na gładkiej drodze, szutrowej, ceglanej, złej drodze i wymyśleniu progu wielkości przyspieszenia pionowego i zrobieniu skali na czymś, co uważa się za „nierówne”

Wykryte dziury będą również rejestrowane za pomocą GPS ich lokalizacji, staram się do tego użyć Rasberry Pi, z przechowywaniem danych i jego szybkością jako dobrym projektem.

Dziękujemy za pomoc i pomysły, książki, samouczki, mądrość itp

AKTUALIZACJA:

Przenieś dodatkowe dane tutaj:

/electronics/56238/accelerometer-data-smoothing-filtering-pothole-detection

zacharoni16
źródło
2
Poniższa odpowiedź PAK-9 zawiera kilka dobrych sugestii. Pierwszym krokiem powinno być zebranie niektórych danych za pomocą testów drogowych (jak sugerowałeś), aby zobaczyć, jak faktycznie wyglądają funkcje, które chcesz wykryć.
Jason R
Czy zamierzasz automatycznie przesłać je do witryny seeclickfix.com? :)
endolith
Tak, mógłbym, jeśli sprawię, że działa poprawnie lol. Miasto Boston stworzyło aplikację na smartfony, która to robi, miały tysiące dolarów na dotacje dla swoich ludzi. Mój będzie prostym podzbiorem tego, wyobrażam sobie, że większość osób przenosi go smartfonem w samochodzie, więc musiałbyś mieć telefon w uchwycie, aby uzyskać dokładne odczyty lub powstrzymać się od upuszczenia telefonu lub przeniesienia go podczas samochód się porusza. Więc używam zewnętrznego akcelerometru, aby uniknąć tych komplikacji
zacharoni16
@ user978563 Co to za zewnętrzna marka akcelerometru, którego używasz btw?
Spacey
Marka to KXPS5-3157 Karta katalogowa dz863.com/downloadpdf-lovdnabsxg-KXPS5-3157.pdf
zacharoni16

Odpowiedzi:

8

Tak naprawdę nie interesuje Cię informacja o częstotliwości w twoim sygnale, a jedynie wykrywalne funkcje - jako takie sugerowałbym, że tutaj FFT nie ma tak dużej użyteczności.

To, co naprawdę chcesz zrobić, to skorelować ciągły „sygnał samochodu” zarejestrowany w samochodzie z innym sygnałem, który jest „sygnaturą” wybojenia dziur. Musisz zdobyć ten podpis, nagrywając go w samochodzie przejeżdżającym przez dziurę (być może nagrywając wiele i używając ich do generowania ogólnego sygnału, który jest dobrą reprezentacją dziury). Gdy już go znajdziesz, możesz go skorelować z sygnałem samochodu. Możesz to zrobić w dziedzinie częstotliwości, w którym to przypadku powinieneś skorelować FFT swojego podpisu z przesuwanym FFT sygnału samochodu.

Być może zechcesz przetworzyć sygnał samochodowy, zanim użyjesz go do usunięcia szumów o wysokiej częstotliwości (z filtrem dolnoprzepustowym). Możesz to zrobić całkiem skutecznie naocznie - baw się różnymi filtrami sygnałów samochodowych, aby zobaczyć, które usuwają najbardziej obce informacje, pozostawiając jednocześnie ważne informacje o dziurach.

PAK-9
źródło
Czy ta korelacja krzyżowa byłaby bardzo trudna do zaprogramowania? Chcę, aby wszystko to odbywało się automatycznie w oprogramowaniu. Myślę, że najtrudniejszą częścią jest uzyskanie „ogólnego sygnału” dla dziury wystarczająco szerokiej, aby dopasować FFT do FFT bieżących danych w samochodzie. Przesuwne FFT, jaka byłaby funkcja okienkowania? Jedyne, co myli mnie w FFT, to okno, czy byłoby to okno przesuwne? Wygląda na to, że częstotliwości wybojów występują w zakresie od 5 Hz do 20 Hz bardzo niskiej częstotliwości do SHM tłumionego zawieszenia
zacharoni16
2
Korelacja krzyżowa nie jest szczególnie trudna do wykonania programowego, jest bardzo podobna do splotu (oba w zasadzie iterują dwie tablice i wykonują jakąś funkcję z próbką z każdej) - jestem pewien, że są dostępne biblioteki, jeśli nie chcesz Napisz swoje własne. Podpis może być trochę trudny do zdobycia, ale jeśli pojawi się mnóstwo danych, powinieneś zobaczyć pojawiające się niektóre funkcje, a ponadto korelacja krzyżowa nie jest binarna, wynik jest zasadniczo wartością „ufności”, dzięki czemu możesz ją przekroczyć, jak chcesz.
PAK-9
1
Okno fn przesuwanego FFT może być tym, czego chcesz, nie powinno to zbytnio wpływać na wynik. Spodziewałbym się zobaczyć duży impuls, który jest tłumiony przez krótki czas (SHM zawieszenia, jak mówisz), więc możesz być w stanie zsyntetyzować coś takiego na podstawie obserwacji sygnałów.
PAK-9
AH, co ma sens, trudną częścią jest zdobycie podpisu, czy jest jakiś samouczek, książka lub strona z podobnym przykładem procedury, teraz myślę, że po prostu muszę zrobić syntetyczne nierówności, takie jak nierówności prędkości, dziury i kierowca nad nimi kilka razy, aby uzyskać dużo danych. Nie jestem jednak pewien, jakie cechy powinienem wziąć pod uwagę przy podpisie
zacharoni16,
2
Samo przejechanie szeregu nierówności i dziur, a następnie odcięcie tych części sygnału da ci bibliotekę podpisów. FFT każdego z nich, aby dać ci sygnaturę widmową, jeśli niektóre różnią się znacznie pod względem wizualnym, podziel je na grupy, które są podobne. Następnie możesz wykonać jakieś uśrednienie dla każdej grupy podpisów, aby uzyskać końcowy podpis „główny” z każdej grupy, który możesz porównać z sygnałami samochodowymi.
PAK-9