Durchführung
Die Eingaben sind die segmentierte Messdaten, wird der Rechtspunkt in jeder Zyklen zuerst ermittelt. Danach wird die Distanz zwischen nächste Punkt und dem aktuellen Punkt berechnet, wenn diese Distanz kleiner als ein Schwellwert ist, wird die Zyklen inkrementiert. Wenn alle Punkte durchlaufen werden, ist der letzte Punkt der Linkspunkt. Um den Eckepunkt zu bestimmen, wird die Distanz zwischen Linkspunkt und Rechtspunkt(d1), Eckepunkt und Rechtspunkt(d2), Linkspunkt und Eckepunkt(d3) berechnet, damit den Winkel durch "sin" prüft, ob er rechtwinkelig ist. Dann der Mittelpunkt(auf der vorne Seite des Kartons) kann durch den Eckepunkt und Rechtspunkt berechnet. Abschließend wird den Winkel berechnet, der zwischen dem Mittelpunkt und Koordinatensystem ist.
Der Funktionsprototyp sieht folgendermaßen aus:
for zahl=1:(L-1)
Rechtspunkt = [x(zahl),y(zahl)];
d=(sqrt((x(zahl+1)-x(zahl))^2+(y(zahl+1)-y(zahl))^2));% euklidisches Distanz
while d < 30 && zahl < (L-1) % Wenn die Distanz zwischen nächsten Punkt und
% aktueller Punkt kleiner als den Schwertwert ist,
zahl=zahl+1; % zahl inkrementiert
end
Linkspunkt = [x(zahl),y(zahl)]; % Nach aller Punkt durchgelaufen werden, ist der aktueller Punkt Linkspunkt
Eckepunkt=[x(floor(zahl/2)+1),y(floor(zahl/2)+1)];
d1=sqrt((Linkspunkt(1)-Rechtspunkt(1))^2+(Linkspunkt(2)-Rechtspunkt(2))^2);% Distanz zwischen Linkspunkt und Rechtspunkt
d2=sqrt((Eckepunkt(1)-Rechtspunkt(1))^2+(Eckepunkt(2)-Rechtspunkt(2))^2);% Distanz zwischen Eckepunkt und Rechtspunkt
d3=sqrt((Linkspunkt(1)-Eckepunkt(1))^2+(Linkspunkt(2)-Eckepunkt(2))^2);% Distanz zwischen Linkspunkt und Eckespunkt
if (sin(d2/d1))>0.5 || (sin(d3/d1))>0.5 % prüfen, ob es rechtwinklig ist
Eckepunkt=[x(floor(zahl/2)),y(floor(zahl/2))];
end
center=[(Rechtspunkt(1)+ Eckepunkt(1))/2,(Rechtspunkt(2)+ Eckepunkt(2))/2]; % Mittelpunkt auf der vorner Seite des Kartons
Mittel=[(Rechtspunkt(1)+Linkspunkt(1))/2,(Rechtspunkt(2)+Linkspunkt(2))/2]; % Mittelpunkt zwischen Rechtspunkt und Linkspunkt
winkelMP = acosd(center(1)/norm(center)); % Winkel zwischen center und Koordinatensystem
(...)
end
→ zurück zum Artikel:Objekttracking_mit_LiDAR