Kombinují Gyroskop a akcelerometr dat

hlasů
64

Stavím vyrovnávací robot pomocí NXT systém Lego Mindstorms je. Jsem pomocí dvou senzorů od HiTechnic, z nichž první je akcelerometrem a druhým gyroskopu. Jsem úspěšně odfiltrovat hluk z obou senzorů a získané úhly pro oba v rozmezí -90 až 90 °, s 0 stupňů je perfektně vyvážená.

Mým dalším úkolem je kombinovat obě hodnoty senzorů pro korekci gyroskopu v driftu v průběhu času. Níže je uveden příklad graf I vytvořen z aktuálních dat k prokázání unášení z gyroskopu:

zadejte

Nejčastěji se používá metoda jsem viděl, aby se spojením těchto čidel skála pevná látka s použitím Kalmanova filtru. Nicméně, já nejsem odborník v kalkulu a já opravdu nechápu, matematické symboly, chápu matematiku ve zdrojovém kódu ačkoli.

Já používám RobotC (což je stejně jako jakýkoli jiný derivát C) a byl by opravdu ocenil, pokud někdo mi může dát příklady, jak toho dosáhnout, v jazyce C.

Děkuji za vaší pomoc!

ŘEŠENÍ Výsledky:

Dobře, kersny vyřešit můj problém tím, že mi představil komplementárních filtrů. Jedná se o graf znázorňující mé výsledky:

Výsledek # 1

zadejte

Výsledek # 2

zadejte

Jak můžete vidět, filtr koriguje kroutícího driftu a spojuje oba signály do jediného plynulého signálu.

Edit: Protože jsem byl, kterým se mění rozbité obrazy tak jako tak, myslel jsem, že by bylo zábavné ukázat soupravy I používanou při sestavování těchto údajů:

zadejte

Položena 19/10/2009 v 02:56
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
41

Kalman filtry jsou skvělé a všichni, ale zjistil jsem, doplňkový filtr mnohem snazší implementovat s podobnými výsledky. Nejlepší články, které jsem našel pro kódování Doplňující filtru jsou tato wiki (spolu s tímto článkem o převedení senzory na inženýrské jednotky) a ve formátu PDF v souboru zip na této stránce (pod technickou dokumentací, se domnívám, že název souboru zip je filter.pdf);

PS. Pokud vaše přilepená na Kalmanova filtru, tady je nějaký C-syntax PSČ pro Arduino, která jej implementuje.

Odpovězeno 19/10/2009 v 19:45
zdroj uživatelem

hlasů
5

Gamasutra.com provozoval článek o použití Kalmanova filtru pro filtrování Wiimote .

Tam jsou některé odkazy na C ++ zdrojový kód na konci článku.

Odpovězeno 19/10/2009 v 15:34
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more