Hi
nur als Idee wie wäre es wenn man die Rohdaten vom Kompass -180 bis +180 umrechnet, dass man 0 bis 360 Grad erhält. Damit müsste sich der Rest schon vereinfachen lassen.
Werbung
Hi
nur als Idee wie wäre es wenn man die Rohdaten vom Kompass -180 bis +180 umrechnet, dass man 0 bis 360 Grad erhält. Damit müsste sich der Rest schon vereinfachen lassen.
| Mfg |
| McGrizzly123 |
Ohne dein Programm im Einzelnen zu kennen (Ist das C oder was höheres?) würde ich spontan behaupten, dass eine Switch-Abfrage den ganzen Code sehr viel übersichtlicher gestalten würde. Und die Konvertierung von -/+180 nach 0-360 (einfach nur 180 draufaddieren bzw. bei Überlauf wieder 360 subtrahieren) könnte das Ganze tatsächlich erheblich vereinfachen.Nachdem das nicht funktioniert hat, habe ich versucht, jeden möglichen Fall durch "if's" abzudecken.
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