UWBIns/lib/att_upt.m

45 lines
979 B
Matlab
Raw Permalink Normal View History

2025-04-16 20:15:33 +08:00
function out = att_upt(in, gyr, dt)
% <20><><EFBFBD>뵱ǰ<EBB5B1><C7B0>̬<EFBFBD><CCAC>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD>ٶȣ<D9B6><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC>Ԫ<EFBFBD><D4AA>
% inΪ<6E><CEAA>ǰ<EFBFBD><C7B0>̬<EFBFBD><CCAC>Ԫ<EFBFBD><D4AA>
% gyr<79><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD>ֵ
% dt ʱ<><EFBFBD><E4B2BD>
%% <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>תʸ<D7AA><CAB8>
rv = gyr*dt; % <20><>תʸ<D7AA><CAB8> = <20><><EFBFBD>ٶ<EFBFBD> <20><> ʱ<><EFBFBD><E4B2BD>
dq = rv2q(rv); % <20><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>תʸ<D7AA><CAB8>תΪ<D7AA><CEAA>Ԫ<EFBFBD><D4AA>
%% <20><>רҵ<D7A8><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
% dq(1) = 1;
% dq(2) = rv(1)*0.5;
% dq(3) = rv(2)*0.5;
% dq(4) = rv(3)*0.5;
out = qmul(in, dq); % <20><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ǰ<EFBFBD><C7B0>̬ <20><> <20><><EFBFBD><EFBFBD> = <20><><EFBFBD><EFBFBD>̬
out = qnormlz(out); % <20><>һ<EFBFBD><D2BB> <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>ֵƯ<D6B5><C6AF>
%% ʹ<><CAB9><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
%
% Cb2n = ch_q2m(in);
% theta = gyr*dt;
%
% %C = eye(3) + ch_askew(theta);
% C = ch_rv2m(theta);
%
% Cb2n = Cb2n * C;
%
% % <20>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GNSS<53><53><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><E0B4AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ϵͳԭ<CDB3><D4AD>-<2D>ڶ<EFBFBD><DAB6><EFBFBD>.pdf <20><>ʽ 5.80
% c1 = Cb2n(1,:);
% c2 = Cb2n(2,:);
% c3 = Cb2n(3,:);
% c1 = 2 / (1 + dot(c1,c1))*c1;
% c2 = 2 / (1 + dot(c2,c2))*c2;
% c3 = 2 / (1 + dot(c3,c3))*c3;
% Cb2n = [c1; c2; c3];
%
% out = ch_m2q(Cb2n);
end