-         

Ergebnis 1 bis 3 von 3

Thema: Kleinster Winkel im Kreis berechnen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    12.03.2008
    Beiträge
    48

    Kleinster Winkel im Kreis berechnen

    Anzeige

    Hallo Gemeinde,
    komischer Titel, aber ich weiß nicht wie ichs anders ausdrücken soll.

    Folgendes:
    Ich habe einen Winkelsensor verbaut. Der reicht von -180 bis +180 Grad. Nun soll der Bot sich in die Richtung des kleineren Winkels drehen, was aber an der "Grenze" der beiden Maxime sich als problem darstellt.

    Beispiel: Sollposition sei 170°, Istposition sei -170°. Nun ist es ja Blödsinn wenn sich der Bot um 340 Grad drehen würde, anstatt nur die erforderlichen 20 Grad.

    Aber ich komme auf keinen grünen Zweig. Nur auf gefühlte eine Million IF Anweisungen... Das geht aber bestimmt einfacher, nur, wonach muß ich suchen???

    Grüßle aus Oberschwaben.

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.192
    Wie wäre es wenn du mit 0..359° rechnest ?
    Beispiel: ist-Position=10° soll-Position=350°
    Differenz 340°
    340 ist grösser als 180 also 360-340 linksrum

    Beispiel 2: ist=40° soll=210°
    Differenz 170°
    170 ist kleiner als 180 also 170 rechtsrum

    achja wenn ist>soll anderstrum

    Beispiel 3: ist=230° soll=70°
    Differenz -160°
    abs(-160) ist kleiner als 180 und Zahl ist negativ also 160 linksrum

    Beispiel 4: ist=240° soll=30°
    Differenz -210°
    abs(-210) ist größer als 180 und Zahl ist negativ also 360-210 rechtsrum

    .... und den Sonderfall 180° auch berücksichtigen
    Geändert von Crazy Harry (24.03.2015 um 19:41 Uhr)
    Ich programmiere mit AVRCo

  3. #3
    RN-Premium User Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    47
    Beiträge
    458
    Blog-Einträge
    16
    Zitat Zitat von hellobello Beitrag anzeigen
    gefühlte eine Million IF Anweisungen... Das geht aber bestimmt einfacher,
    Bewegen sich Zielposition und Sollposition beide im Wertebereich -180° .. 180°?
    Mit (Positionsdifferenz + 360) modulo 360 bekommst du die Entfernung in positiver Drehrichtung im Bereich 0..360. Ein einfacher Vergleich mit 180 genügt dann. Ich drück das mal in C so aus:
    Code:
                if((Sollposition - Istposition + 360) % 360 <= 180)
                    FahreRechts();
                else
                    FahreLinks();
    Gruß
    witkatz

Ähnliche Themen

  1. GPS: Winkel vom Standort zum Ziel berechnen
    Von Spacecam im Forum Raspberry Pi
    Antworten: 1
    Letzter Beitrag: 25.06.2013, 23:30
  2. Kleinster Hexabot ?
    Von PICture im Forum Offtopic und Community Tratsch
    Antworten: 12
    Letzter Beitrag: 23.10.2010, 15:10
  3. Kleinster IC?
    Von nitro32 im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 5
    Letzter Beitrag: 16.09.2008, 18:06
  4. kleinster Füßlerbot?
    Von sulu im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 0
    Letzter Beitrag: 22.08.2006, 15:14
  5. Winkel zum Ziel berechnen??? I dreh durch *g*
    Von Sommer im Forum Software, Algorithmen und KI
    Antworten: 22
    Letzter Beitrag: 31.05.2005, 07:31

Berechtigungen

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