Budowanie lokalnej mapy otoczenia - skaner z czujnikiem podczerwieni 3

Nasza ocena:

3
Pobrań: 469
Wyświetleń: 1274
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Budowanie lokalnej mapy otoczenia - skaner z czujnikiem podczerwieni 3 - strona 1 Budowanie lokalnej mapy otoczenia - skaner z czujnikiem podczerwieni 3 - strona 2

Fragment notatki:


gr. A3
Metoda obliczenia estymatora Θ k = 10; % liczba pomiarow
n = 5; % stopien aproksymowanego wielomiau
for i = 1:k
for j = 1:n
T(i,j) = y(i)^(n-j+1); % zaczynamy od stopnia n-koniec na 0
end
T(i,n+1) = 1;
end
E = inv(T'*T)*T'*d %estymator
Gdzie y-macierz pomiarów dla poszczególnych odległości (d):
y = [0.6031 0.4979 0.4504 0.3918 0.3493 0.3137 0.2986 0.2487 0.2426 0.2342]
d = [0.1500
0.2000
0.2500
0.3000
0.3500
0.4000
0.4500
0.5000
0.5500
0.6000]
Po wykonaniu powyższego kodu estymator(Θ) oznaczony u nas jako E wynosi:
E =
1.0e+003 *
-0.8414
1.7726
-1.4642
0.5946
-0.1202
0.0102
Funkcja LiczOdległość(y,E) będzie miała zatem postać:
function d = LiczOdleglosc(y,E)
d = E(1)*y^5+E(2)*y^4+E(3)*y^3+E(4)*y^2+E(5)*y+E(6);
Aby wyrysować mapę otoczenia powinien zadziałać kod:
krok = 1.8; % stopnie obrotu jednego kroku
ileKrokow = 360/krok;
for i = 1:ileKrokow
fwrite(s, obrl, 'uchar', 'sync');
pause(0.05);
ileDanych = s.BytesAvailable;
zm = fread(s, ileDanych);
fwrite(s, odcz, 'uchar', 'sync');
pause(0.05);
dane = fread(s, s.BytesAvailable);
normdane = (dane(3)+16*dane(4)+256*dane(5))/1024;
y1(i) = normdane;
d(i) = LiczOdległość (y1(i),E);
x(i) = d(i)*cos(i*krok);
y2(i) = d(i)*sin(i*krok);
end
Do wyrysowania naszkicowania mapy otoczenia można użyć polecenia plot():
plot(y2,x,'r.')
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz