-
        

Ergebnis 1 bis 8 von 8

Thema: links oder rechts rum???

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2004
    Beiträge
    378

    links oder rechts rum???

    Anzeige

    Hi Leute,

    hab da ein kleines Problem.
    Ich hab einen Zielwinkel wo mein Robby hin soll und einen Istwinkel vom Kompass. jetzt will ich Ihn aber nicht immer in eine Richtung drehen lassen bis er dahin schaut wo er hin soll sondern auf den kürzesten weg.

    Bsp.1 Soll = 45° / Ist = 360° dann soll er rechts rum
    Bsp.2 Soll = 45° / Ist = 180° dann soll er links rum

    naja und so weiter...

    So nu wie machma denn das steh mal wieder bissl auf´m Schlauch

    By Ulli

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Ort
    München
    Alter
    51
    Beiträge
    298
    Hallo Ulli,

    ich würde den Sollwinkel vom Istwinkel abziehen
    (z.B. 360-45=315 oder 180-45= 135)
    und dann vergleichen ob das Ergebnis gößer oder kleiner 180 Grad ist.
    (z.B. If Erg > 180 then rechtsrum if Erg < 180 then linksrum)

    Gruß
    m.artmann

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von Hessibaby
    Registriert seit
    20.11.2003
    Ort
    Gelsenkirchen
    Alter
    65
    Beiträge
    1.597
    Hallo Ulli,

    wenn ich Deine Bsp. richtig interpretiere möchtest Du Richtung NordOst = 45° fahren -d.h im Bsp.1 schaut Dein Robby Richtung Norden =0 bzw. 360° und im Bsp.2 Richtung Süden =180°.
    Wenn Du nun die ganze Sache in Quadranten aufteilst d.h. 0-90/180° positive Quadranten und 180-270/359° negative Qudranten dann sollte es doch relativ einfach sei die Drehrichtung zu bestimmen.

    Gruß Hartmut

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.11.2004
    Ort
    Erlenbach
    Beiträge
    126
    Hallo,

    das ist schon ein guter Ansatz.
    ich würde den Sollwinkel vom Istwinkel abziehen
    (z.B. 360-45=315 oder 180-45= 135)
    und dann vergleichen ob das Ergebnis gößer oder kleiner 180 Grad ist.
    (z.B. If Erg > 180 then rechtsrum if Erg < 180 then linksrum)
    Was passiert aber wenn der Istwinkel größer ist als der Sollwinkel, z.B. Istwinkel 350° und Sollwinkel 10° ?
    Dann wäre ds Ergebnis -340°.
    Man braucht also auch noch eine Berechnung für negative Differenzen.

    Evtl. geht es so wie im Struktogramm im Anhang.

    Viele Grüße
    Michael
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken richtung.jpg  

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von Hessibaby
    Registriert seit
    20.11.2003
    Ort
    Gelsenkirchen
    Alter
    65
    Beiträge
    1.597
    Hallo Ulli,

    das Struktogramm ist schon OK.
    Der Vorteil der Aufteilung in Quadranten ist jedoch das Du die Vorzeichen automatisch erhälst. Für das oben genannte Beispiel wäre es dann -350° auf +10° = (360-350)+10 = 20° also rechtsrum.

    Gruß Hartmut

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2004
    Beiträge
    378
    Hi,

    dann würd ich nach ein paar Rechnungen sagen:

    X = (360 - Istwert) + Sollwert

    if X > 180 = links drehen
    if X < 180 or > 360 = rechts drehen

    probiert es mal aus

    By Ulli

  7. #7
    Gast
    Hi,
    warum so kompliziert? Verwende doch die abs(...)-Funktion (Betrag):
    X = abs(Istwer - Sollwert);
    if X != 0 then
    begin
    if X > 180 then ...
    if X <= 180 then ...
    end;

  8. #8
    Gast

    H$

    FUUUUUUUUUUUUUUUUUUU

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •