Akcelerometr gravitační součásti

hlasů
7

Vím, že tato otázka definitivně vyřešena někde mnohokrát už, prosím, objasnit mě, jestli víte o jejich existenci, díky.

Rychlý přehled: chci vypočítat z bodu A 3 osy akcelerometr gravitační součást každé z těchto 3 os. Použil jsem 2 os volné tělo diagramy vypracovat gravitační součást akcelerometr je ve světovém XZ, YZ a XY os. Ale řešení mírně zdá pryč, je to přijatelné, v extrémních případech, kdy je osa pouze 1 akcelerometr vystaveny gravitace, ale pro a naklápění obou 45 stupňů, celkový součet velikost je větší než hmotnost (získaného Xa ^ 2 + Ya ^ 2 + Za ^ 2 = g ^ 2, Xa, Ya a Za jsou akcelerometr hodnoty ve své X, Y a ose z).

Další detaily: Zařízení je Nexus One, a mají snímač magnetického pole pro azimut, a naklápění navíc k 3-osy akcelerometr.

Ve světové osy (s Z ve stejném směru jako gravitace, a to buď X nebo Y bodů k severnímu pólu, si nemyslím, že to záleží hodně?), Předpokládal jsem, že můj přístroj má stoupání (P) na ose YZ, a roli (R), na ose XZ. S tím jsem použil jednoduchý Trig získat: sin (R) = Ax / Gxz cos (R) = Az / Gxz Tan (R) = Ax / Az

Tam je další sada na hřišti, P.

Teď už je definováno gravitace má 3 komponenty světové osy, je Gxz, která je měřitelná pouze v ose XZ, v Gyz pro YZ, a Gxy pro XY osy. Gxz ^ 2 + Gyz ^ 2 + Gxy ^ 2 = 2 * G ^ 2 2G je, že gravitace je účinně zahrnuty dvakrát v této definici.

Jo a osa XY vyrábět něco exotičtější ... uvidíme vysvětlit, v případě potřeby později.

Z těchto rovnic I získat vzorec pro Az a odstranili pálením operace, protože nevím, jak zacházet s tan90 výpočty (to je nekonečno?).

Takže moje otázka je, někdo vědět, jestli jsem to udělal správné / nesprávné nebo schopný místo mě správným směrem?

Dík! DVD

Položena 07/06/2010 v 02:30
zdroj uživatelem
V jiných jazycích...                            


5 odpovědí

hlasů
5

Jak jsem pochopil vaši otázku, víte, výšku a vybočit z vašeho zařízení (z magnetometru) a použít tuto informaci k výpočtu složku gravitace podél každé vaší (zařízení) souřadných os?

Jako fyzik jsem vychován s Euler úhly místo pitch-vybočit-válec, ale při pohledu na http://en.wikipedia.org/wiki/Yaw,_pitch,_and_roll bych tento výpočet takto: Předpokládejme, že vaše zařízení se nejprve orientován podél globální rámu souřadnic, takže gravitace gvec:={0,0,-g}(v místním rámu). Nyní musíme počítat lokálním souřadnicím gvec jak jsme projít zatáčení-pitch-válec (vybočení nedělá nic, jak jste zmínil). Pro mě je to nejjednodušší s rotačními maticemi: musíme změnit znaménko úhlů, protože gveczůstane na místě. Budu to s Mathematica, protože to je moje kladivo, a to je hřebík

yaw = RotationMatrix[-yawangle,{0,0,1}];
pitch = RotationMatrix[-pitchangle, {0,1,0}];
roll = RotationMatrix[-rollangle,{1,0,0}];
gvec={0,0,-g}
yaw.gvec
pitch.yaw.gvec
roll.pitch.yaw.gvec

Výstupem je místní poloha pro gvecpřed vybočením a po vybočení, klonění, and roll (takže poslední řádek níže by měla být vaše odpověď):

{0,0,-g}
{0,0,-g}
{g Sin[pitchangle],0,-g Cos[pitchangle]}
{g Sin[pitchangle],-g Cos[pitchangle] Sin[rollangle],-g Cos[pitchangle] Cos[rollangle]}
Odpovězeno 07/06/2010 v 03:59
zdroj uživatelem

hlasů
1

Uvědomuji si, účtování je starý, ale v případě, jiní ji využívají: Ve vaší poslední odpovědi dáváte najevo, že jste stále vidět některé odchylky, zejména pod větším úhlem. Zažil jsem totéž, ale zmizel, když jsem přidal kalibrační rutina zachytit čtení akcelerometru je na rovný povrch a také všechna další údaje ve vztahu k plochým povrchem čtení.

Odpovězeno 10/01/2014 v 20:53
zdroj uživatelem

hlasů
1

Rád bych věděl, protože jsem také zájem o tento problém.

Dobrým místem pro začátek výzkum je http://www.diydrones.com/ . Lidi, támhle už tento problém vyřešil v rámci autopiloty letadel. Tam je tuna kvalitních otevřeným zdrojovým kódem spojené v daném místě, stejně jako diskuse o matematiky zapojeny.

Odpovězeno 07/06/2010 v 03:04
zdroj uživatelem

hlasů
0

Není snadné se dostat vektor gravitace ze senzoru akcelerace, budete potřebovat další čidlo jako gyroskopu (je-li k dispozici), aby si správné gravitační část z akcelerometru čtení.

pozdravy Navigator

Odpovězeno 23/01/2012 v 22:50
zdroj uživatelem

hlasů
0

Díky Janus! Vaše vysvětlení mě trochu osvícený ohledně rotace matrice. A poslední řádek to vyřešit můj problém!

Teď už stačí jen přepracovat své volné tělo diagramů zjistit, co jsem udělal špatně ... Už jsem zjistil, že jsem neměl měl XY složka gravitace, protože gravitace je orthonormal k ose XY ...

Ještě jednou děkuji!

Edit: v návaznosti na to, poslední řádek: {g Sin [pitchangle], - g Cos [pitchangle] Sin [rollangle], - g Cos [pitchangle] Protože [rollangle]}

Zjistil jsem, namísto -g Cos [pitchangle] Sin [rollangle] Sin [válet] ze svého volného tělesného schématu více podobá skutečné zrychlení.

To, co nemohu pochopit, nyní je poslední složka -g Cos [pitchangle] Cos [rollangle] teď je ideální pro malé a naklonění úhlů, a to funguje buď na hřišti nebo úhlem válců, zatímco druhá zůstane na 0 ° C, ale odchylka se stává významným když oba pitch and roll už ne malý úhel (řekněme 40 stupňů). Vlastně jsem si také uvědomil, aby se dosáhlo 45 válců a 45 stoupání na Nexus One, telefon bude mít osu čtení 0 Z, X a Y oba na 6.8ish zrychlení. Zatímco Výsledný vzorec z násobení matic rotace při 45 válce a 45 stoupání by bylo 0,5 gravitace.

Je tu něco s výstupem senzoru orientace špatně? nebo je to jak pitch and roll se mělo fungovat?

Ví někdo, jak k účtu pro to?

Dík!

Odpovězeno 11/06/2010 v 12:20
zdroj uživatelem

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