Bonjour tout le monde,

Je possède des données d'accéléromètre, gyroscope et magnétomètre. Via ces données je souhaite les filtrer à l'aide d'un filtre de kalman. Je n'ai jamais utilisé ce filtre et je ne trouve de réel explication sur celui-ci.

Est ce que quelqu'un peut m'aider.

Voici mon code actuel.

Cordialement

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
clear,close all, clc
 
%%%% Test données accéléro et gyro %%%%%% 
[a,b] = uigetfile('*.txt','Data txt file')
file_txt = [b,a];
data= dlmread(file_txt,'\t');
 
 
%%%%%%%%%%% EXTRACTION DES DONNÉES DU .TXT %%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
Time = data(:,1);
Acc_X = data(:,2)*(0.732/1000);
Acc_Y = data(:,3)*(0.732/1000);
Acc_Z = data(:,4)*(0.732/1000);
Gyr_X = data(:,5)*(70/1000);
Gyr_Y = data(:,6)*(70/1000);
Gyr_Z = data(:,7)*(70/1000);
 
for i=1:length(Acc_X)
Norm_accel(i) = sqrt((Acc_X(i)*Acc_X(i))+(Acc_Y(i)*Acc_Y(i))+(Acc_Z(i)*Acc_Z(i)));
end
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%% Pitch et Roll %%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
for j=1:length(Acc_X)
Pitch(j)= atan((Acc_X(j))/((Acc_X(j).^2)+(Acc_Z(j).^2)));
Roll(j)= atan((Acc_Y(j))/((Acc_Y(j).^2)+(Acc_Z(j).^2)));
end