Hallo Mike,
Als Bild muss natürlich immer das aktuelle Bild von Deiner webcam eingetragen werden ( also Pfad und Name, das hast Du schon richtig erkannt ).Kann es sein das ich bei der Funktion gopos bei
pic=imread('Webcam.jpeg') vielleicht mein Bild eintragen muss
Die Funktion gopos liefert die Wegpunkte, an denen der ASURO stehen geblieben ist und eine neue Position mit asuropos bestimmt wurde, zurück. Die Funktion wird beendet, wenn ein bestimmter Abstand zur Zielposition unterschritten wird.
mit
weg=gopos([100 200]);
plot(weg( 1 , : ),weg(2 , : ) );
kannst Du dir den Weg graphisch darstellen lassen.
Ich muss gestehen, dass sich in der Funktion gopos zwei "kleine" Fehler befinden ( naja, ist ja auch die Verion 0.1 ).
1. Der Abstand zwischen ASURO-Position und Zielposition wird falsch berechnet.
Folgende Zeile kommt zweimal vor:
distance=sqrt((xcp-zx)^2*(ycp-zy)^2);
dort muss das * durch ein + ersetzt werden:
distance=sqrt((xcp-zx)^2+(ycp-zy)^2)
2. Der ASURO dreht nicht immer um den kleinsten Winkel
Manchmal dreht sich der ASURO um 270° statt um -90°. Es funktioniert auch, sieht aber etwas ungeschickt aus.
Diesen Effekt kann man verhindern, wenn man nach der Zeile
dw=winkelsoll-winkelist;
diesen Code einfügt:
if dw>180,
dw=dw-360;
end
if dw<-180,
dw=dw+360;
end
Kannst Du eventuell mal ein Bild posten, das du mit der plot-Funktion vom Weg aufgenommen hast ?
Gruss,
stochri
p.s.: Bist Du noch in der Schule und falls ja, was kommt gerade in Mathe ?
Lesezeichen