VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI Telematika K620 Ústav řídicí techniky a telematiky Václav Plevka Petr Svejkovský
VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI K620 Ústav řídicí techniky a telematiky Osnova: 1. Zadání práce 2. Teorie 3. Řešení úkolu 4. Závěr, výsledky
VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI 1. Zadání práce
Naším úkolem bylo upravit výstupní data naměřená na simulátoru Poloha vozidla v prostoru je dána souřadnicemi X [m], Y [m], Z [m] Orientaci vozidla je quaternionem (w [-], x [-], y [-], z [-]) Prakticky bylo úkolem převést quaternion (4 složky) na eulerovy úhly (3 složky) VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI
1.Zadání práce Na vstupu jsme měli tři datové soubory (mb1.txt, mb2.txt, mb3.txt) Soubory obsahovaly data ze tří měření, tj. tři záznamy ze simulátoru Každý soubor měl 36 sloupců a řádově tisíce řádků VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI
1.Zadání práce VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI
2. Teorie
EULEROVY ÚHLY Soustava tří úhlů (φ, θ, ψ) určující orientaci v prostoru vzhledem k soustavě souřadnic φ precesní úhel z … úhel, který vznikne rotací okolo osy Z (YAW, HEADING) θ nutační úhel z … úhel, který vznikne rotací okolo osy y (PITCH, ATTITUDE) ψ rotační úhel z … úhel, který vznikne rotací okolo osy x (ROLL, BANK) VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI
2.Teorie EULEROVY ÚHLY VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI
2.Teorie QUATERNION Vznik 1845 W. R. Hamiltonem (snaha o popis rotací v 3D prostoru podobně jako ve 2D pomocí komplexních čísel) Skládá se ze 4 reálných čísel: w … skalár, (x, y, z) … vektor Q = w + xi + yj + zk Quaternion Q náleží R 4, 4-dimenzionální vektorový prostor nad reálnými proměnnými Umožňuje provádět operace sčítání, násobení, vektorový součin, platí: i 2 =j 2 =k 2 =ijk=-1 VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI
2.Teorie QUATERNION Používá se pro jednoznačný popis orientace tělesa v prostoru S oblibou používán v 3D grafice (simulátory…) Při popisu pomocí orientace tělesa pomocí Eulerových úhlů může dojít chybám – Gimbal Lock. To Quaternion odstraňuje. Využívá k popisu pouze 4 čísel VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI
3. Řešení úkolu
Možná řešení Využít již vytvořených nástrojů pro převod quaternion/eulerovy úhly Zpracovat vlastní skript: MS Excel (velké množství dat, obtížná práce s funkcemi) Matlab Lze použít jakýkoli jiný programovací nástroj vhodný pro práci s goniometrickými funkcemi, vektory apod. VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI
3.Řešení úkolu Vlastní řešení VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI 1.Import dat do MatLabu (v maticovém tvaru) 2.Výpočet euler. úhlů pro 2 extrémní stavy: Těleso směřuje kolmo vzhůru (x*y + z*w >= 0,5) Těleso směřuje kolmo dolů (x*y + z*w <= -0,5) 3.Vlastní výpočet, tj. převod quaternion/euler.úhly K tomu jsme využili následující vzorce: heading = atan2(2*y*w-2x*z, 1 - 2*y^2 - 2*z^2) attitude = asin(2*(x*y + z*w)) bank = atan2(2*x*w-2*y*z, 1 - 2*x^2 - 2*z^2) 4.Výpis dat v odpovídající formě zdroj = mb3 amount = length(zdroj(:,1)); %amount = 3; q1x = zdroj(1:amount,33); q1y = zdroj(1:amount,34); q1z = zdroj(1:amount,35); q1w = zdroj(1:amount,36); test = q1x.*q1y + q1z.*q1w; if (test > 0.499), heading = 2 * atan2(q1x,q1w); attitude = pi/2; bank = 0; end if (test < ) heading = -2 * atan2(q1x,q1w); attitude = - pi/2; bank = 0; end sqx = q1x.*q1x; sqy = q1y.*q1y; sqz = q1z.*q1z; heading = atan2(2*q1y.*q1w-2*q1x.*q1z, 1 - 2*sqy - 2*sqz); attitude = asin(2*test); bank = atan2(2*q1x.*q1w-2*q1y.*q1z, 1 - 2*sqx - 2*sqz); euler = [heading, attitude, bank]; euler_dgr = euler*180/pi; t_xyz_euler = [zdroj(1:amount,2:5), euler(1:amount,1:end)]; heading attitude bank] pro export do finalniho TXT dlmwrite('t_xyz_euler.txt', t_xyz_euler, 'delimiter', ' ', 'precision', '%.6f',... 'newline', 'pc');
VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI 4. Závěr, výsledky
Vzorek výsledku VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI Výstupní soubor obsahuje: čas vzorku [ms], X [m], Y [m], Z [m] heading [º], pitch [º], bank [º]
4.Závěr, výsledky VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI Výsledky Převedli jsme Quaternion na Eulerovy úhly pro všechny záznamy vstupních souborů K tomu jsme využili jsme program Matlab, ve kterém jsme navrhli vlastní skript Správnost výsledků jsme následně ověřili pomocí online převodníku Quaternion -> Eulerovy úhly (pro vzorek náhodně zvolených záznamů)
VYHODNOCENÍ TECHNICKÉHO ZÁZNAMU POŘÍZENÉHO PŘI MĚŘENÍ EXPERIMENTŮ HMI Děkujeme za pozornost Václav Plevka Petr Svejkovský