Hi,
ich würde einfach eine kleine Abfrage reinmachen, ob abs(Soll-Ist) < 180 oder nicht. Je nachdem musst du dann nur noch in die eine oder andere Richtung drehen.
Oder stelle ich mir dein Problem gerade zu einfach vor?
Gruß
Chris
Werbung
Hi,
ich würde einfach eine kleine Abfrage reinmachen, ob abs(Soll-Ist) < 180 oder nicht. Je nachdem musst du dann nur noch in die eine oder andere Richtung drehen.
Oder stelle ich mir dein Problem gerade zu einfach vor?
Gruß
Chris
https://www.roboternetz.de/community...chtsrum-kürzer Da hatte ich das gleiche Problem.
Ich habs inzwischen in Griff.
Zuerst muss die Kursabweichung zwischen Soll und Ist berechnet werden:
kursAbweichung=(winkelSoll-winkelIst)%360;
if(kursAbweichung<0)
{kursAbweichung +=360;}
und dann teilt man es auf:
if(kursAbweichung<=180) // müssen wir rechtsrum
if (kursAbweichung>180) //nach links lenken
funktioniert einwandfrei.
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
Vielen Dank für eure Antworten !
Der Kompass liefert mir eigentlich 0-360°ich habs selber in +/- 180 umgerechnet. Kam mir einfacher vor. Da hab ich mich wohl getäuscht
.
Ich werde den code-schnipsel mal testen.
Irgendwie habe ich glaube ich auch noch Probleme mit dem Kompass (CMPS10). Der spinnt manchmal.
Vielen Dank nochmal ! Endlich mal ein Forum, das wirklich weiterhilft![]()
Wenn ein magnetischer 3achs-Sensor ist (ich benutze den HMC5883l), muss der kalibriert werden!
Sonst funktioniert er nur mehr oder weniger- und nur bei grösserem Abstand zu Eisen oder Magnetfeldern überhaupt brauchbar.
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
Benutzer, die dieses Thema gelesen haben: 0
Lesezeichen