-         

Ergebnis 1 bis 9 von 9

Thema: Problem mit Abstandhalten zur Wand

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.07.2005
    Ort
    Oberwil
    Alter
    36
    Beiträge
    131

    Problem mit Abstandhalten zur Wand

    Anzeige

    Hallo Leute

    Ich habe folgendes Problemchen:

    Mein Roboterfahrzeug soll in einem Abstandsbereich zwischen 20 und 30 cm zur linken Wand sich forwärts fahren. Die Distanzmessung erfolgt mittels Sharp GP2D12 Distanzsenoren die direkt an den A/D Wandler meines ATmega 32 angeschlossen sind.

    Nun ich lese zuerst die Messwerte vorne und links ein und verarbeite sie.

    Wird der Wert 20 cm unterschritten soll nach rechts korrigiert werden und wird der Wert 30 cm überschrieten soll nach rechts korrigiert werden.

    Nun zu meiner Frage:
    Soll während der ganzen Korrekturphase die Räder je nach dem eingeschlagen werden, oder nur kurzzeitig. Was heisst, messen wenn unterschirtten oder überschritten nur kurz korrektur und dann wieder geradeaus???

    Oder eben die andere Methode: Während der ganzen Korrektur die Räder eingeschlagen haben?

    Was ist besser???

    Mein Problem ist jetzt, dass sich das Fahrzeug aufschauckelt mit der Korrektur. Das heisst, er korrigiert wahrscheinlich immer ein bisschen später und so mit werden die Kurven immer grösser.

    Danke für eure Hilfe!!!

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Ich würd um so stärker einschlagen, je größer die Abweichung ist...

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.07.2005
    Ort
    Oberwil
    Alter
    36
    Beiträge
    131
    Du meinst also, dass solange der Wert überschritten oder unterschritten ist, die Räder eingeschlagen lassen und nicht wieder gerade stellen?!

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.07.2005
    Ort
    Oberwil
    Alter
    36
    Beiträge
    131
    Einzig noch ein weiters Problem ist ja, die Sensoren sind langsam und ich habe ja nicht beliebig viele Stellungen der Räder.

    Sonst müsste ich ja ein grosse IF-Schleife programmieren die alle Werte dem entsprechend ausliest und die Räder stellet. Oder wie würdest du das realisieren? Anders als mit IF-Abfragen???

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.07.2005
    Ort
    Oberwil
    Alter
    36
    Beiträge
    131
    Andere Frage: Wie könnte ich das realisieren mit der Möglichkeit, dass die Ränder mehr eingeschlagen werden umso grösser die Abweichung? Es ist noch in einer verhältnismässig kurzen Zeit möglich und wäre das überhaupt mittels If-Abfrage möglich??

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2003
    Ort
    Alfeld (50km südl. Hannover)
    Alter
    34
    Beiträge
    237
    Hi,

    anstatt if-Abfragen könnte man doch einen versuchen einen Regler einzusetzen.
    Beschreibung dazu gibst im Wiki:
    http://www.roboternetz.de/wissen/ind...gelungstechnik

    mfg
    Thorsten
    Open Minds. Open Sources. Open Future

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.07.2005
    Ort
    Oberwil
    Alter
    36
    Beiträge
    131
    ok an das habe ich auch schon mal gedacht. Aber ich bin nicht so gewahnt in Sachen Regeltechnik. Doch eigentlich schon, aber was nicht welchen Regler ich verwenden müsste und wie ich dann das genau im Code umsetzen kann. Genau dort ist meine Schwierigkeit. Hast du vielleicht noch eine kleine weiter Hilfe auf Lager?

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2003
    Ort
    Alfeld (50km südl. Hannover)
    Alter
    34
    Beiträge
    237
    Unter digitale Regler ist ein bischen Code wie man so einen Regler in Software aufbaut.
    Selbst habe ich noch keine Erfahrungen damit gemacht, jetzt in den Semesterferien will
    ich aber damit einen Linienfolger programmieren, dauert aber bestimmt noch ne Woche
    bis ich da weiterbin.
    Der Code der da steht muss rythmisch aufgerufen werden.
    Zum Anfang werd ich wohl die Reglerfunktion
    alle 10ms aufrufen, die Parameter selber durch probieren nach dem Regeln
    im Text ermitteln.

    mfg
    Thorsten
    Open Minds. Open Sources. Open Future

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.07.2005
    Ort
    Oberwil
    Alter
    36
    Beiträge
    131
    ok danke trotzdem für deine Hilfe. Irgendwie werde ich mich schon noch durchkämpfen. Einzig den Unterschied zwischen einer IF-Abfrage und dem Regeler sehe ich noch nicht ganz aber das wird noch.

Berechtigungen

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