-         
RSS-Feed anzeigen

Searcher

Datenhungrig?

Bewerten
Durch die Beschleunigungs-/Geschwindigkeitsmessungen bin ich auf eine Erkenntnis gekommen, die ich sicher auch ohne den Aufwand hätte haben können.

Der Linienfolgealgorithmus addierte oder subtrahierte zur mittleren Fahrgeschwindigkeit einfach nur die mit einem festen Faktor versehenen gemessenen ADC Werte und setzte damit die Compareregister des PWM Timers. Bei Erhöhung der mittleren Geschwindigkeit um den Kurs schneller zu bewältigen, wurde keine Anpassung bei den vom ADC kommenden Werten gemacht.

Die Folge war dann bei höheren Geschwindigkeiten eine zu lahme Lenkreaktion und TT "flog" aus der Kurve bzw. bei sehr langsamer Fahrt ein schnelles Hin- und Herzittern über der Linie.

Mittlerweile wird das Tastverhältnis der mittleren Geschwindigkeit als Berechnungsgrundlage für die Anpassung des ADC Wertes genommen. Bedeutet, daß bei höherer Geschwindigkeit die Lenkpwm in höherem Maße geändert wird als bei niedriger Geschwindigkeit. Eigentlich selbstverständlich; hab ich aber erst durch die Messungen veranlasst geändert.

Bei meiner frisch aufgebauten Teststrecke (kleinster Kurvenradius: 11cm) schaff ich damit nun eine Geschwindigkeit von knapp unter 50cm/s. Der Ehrgeiz ist nun die Grenze von 50cm/s zu durchbrechen bevor ich ein anderes Projekt in Angriff nehme.

Die Schwierigkeit beim jetzigen Setup ist der Kurvenausgang. Ist die Geschwindigkeit am Kurvenausgang einer engen Kurve zu einer Geraden zu hoch, beginnt der TT dort zu schlingern und fängt sich erst wieder bei der nächsten Kurve wenn er nicht schon vorher die Linie verliert.

Um nun den Steueralgorithmus noch weiter zu verbessern und da vielleicht sogar einen richtigen Regler unterzubringen komme ich wohl nicht umhin weitere Messungen zu machen.

Als erstes möchte ich die Liniensensorwerte an den kritischen Streckenabschnitten aufnehmen und näher betrachten. Da können jedoch mehr als 4000 Byte pro Sekunde anfallen. Die haben auf dem Tiny jedoch keinen Platz und deshalb bin ich am überlegen, wie ich die drahtlos zum PC bekomme. Dort Weiterverarbeitung mit zB EXCEL.

Jetziger Stand der Überlegung: Soll natürlich mit wenig HW Aufwand gemacht werden -> Senden vom TT mit IR-Diode. IR-Empfangsschaltung an die RS232 Schnittstelle am PC. Vermutlich Datenreduktion notwendig.

"Datenhungrig?" bei Twitter speichern "Datenhungrig?" bei Facebook speichern "Datenhungrig?" bei Mister Wong speichern "Datenhungrig?" bei YiGG.de speichern "Datenhungrig?" bei Google speichern "Datenhungrig?" bei del.icio.us speichern "Datenhungrig?" bei Webnews speichern "Datenhungrig?" bei My Yahoo speichern

Stichworte: - Stichworte bearbeiten
Kategorien
Projekte , ATtiny45 , Root , Linienfolger

Kommentare

  1. Avatar von Marcus Blesius
    Hast du mal probiert, wie dein Robo auf Knick und Ruckfreie Strecken reagiert?
  2. Avatar von Searcher
    Zitat Zitat von Marcus Blesius
    Hast du mal probiert, wie dein Robo auf Knick und Ruckfreie Strecken reagiert?
    Hallo Marcus,
    mein Robo ist sehr einfach aufgebaut. Er kann nur vorwärts fahren und ich kann ihn nicht aktiv bremsen. Deshalb sind alle meine Teststrecken Knick- und "Ruckfrei"? d.h. keine Winkel drin. Winkel würd er nur mit geringer Geschwindigkeit schaffen.

    Für Messungen habe ich einen kleinen Rundkurs und eine Acht "aufgebaut". Die Kurven sind mit Zirkel gezogen, also Kreisbögen mit kleinstem Durchmesser von 22 cm. Im Prinzip wie im Video in diesem Blogeintrag zu sehen:
    http://www.roboternetz.de/community/...s-Linienfolger

    Ich bin eigentlich sehr zufrieden mit dem Fahrverhalten unter den Voraussetzungen auf den Teststrecken.

    Das Schlingern tritt nur sichtbar bei hoher Geschwindigkeit am Ausgang einer engen Kurve auf und das möchte ich versuchen zu verbessern. Liegt wahrscheinlich an den schwachen Motoren, die es nicht schaffen, rechtzeitig kräftig genug auf die Steuerimpulse zu reagieren und den TT auf Spur zu bringen, und ich hoffe durch Messungen Aufschlüsse über Gegenmaßnahmen zu bekommen.

    Gruß
    Searcher
  3. Avatar von Marcus Blesius
    Hi

    Knick und Ruckfrei haben wir damals im Mathe-LK gemacht, meint:

    DIe FUnktion, auf die der Roboter fährt, sowie die erste und zweite Ableitung sind stetig.
    Die erste Ableitung gibt an, wie die Lenkposition ist.
    Die zweite ABleitung gibt an, wie schnell die Lenkposition verändert wird.

    am Ende des Kreisen, wo du in die Gerade übergehst, muss der Robotor sehr schnell von der Lenkposition eingeschlagen auf neutral wechseln. Für diesen Wechsel hast du nur begrenzte Zeit zur Verfügung, die davon abhängt wie lange man noch die Linie sieht und natürlich wie schnell man ist. Bist du also zu schnell verliert man die Linie.

    SOweit die Theorie, hätte nie gedacht, dass mir Mathe so in der Praxis etgegen kommt^^
  4. Avatar von Searcher
    Hallo Marcus,

    danke für Erläuterung zur knick- und ruckelfreien Kurve. Hab ich echt zum erstenmal gehört. Gegoogelt und gleich Lust bekommen so eine Linie zu konstruieren. Es könnte aber sein, daß mein Problem damit verschwunden wäre und ich meine Meßapparatur gar nicht mehr ausnützen müßte.

    Nein, Quatsch. Es ist nicht soooo wichtig für mich, eine Teststrecke mit Höchstgeschwindigkeit zu durchfahren; da ist sowieso bei den Voraussetzungen von Motor, Getriebeübersetzung wg Höchstgeschwindigkeit und differentieller Lenkung, einfache Elektronik des TT bald Schluß. Es interessiert mich, wie ich auftretende Probleme in den Griff bekommen kann (ohne die Strecke zu verändern - das käme mir dann gemogelt vor). Falls mir das in diesem Fall für die gegenwärtige Strecke gelingt, könnte es sein, daß ich danach auch andere Streckenkonstruktionen ausprobiere.

    In der letzten Zeit habe ich weniger experimentiert und bin deshalb kaum weitergekommen. Allerdings habe ich schon einige Meßwerte bekommen können und es lassen sich daraus die Schlingerbewegungen schon erkennen. Die muß ich noch aufbereiten, genauer analysieren hinsichtlich Frequenz und Stärke und sicher noch ein paar Messungen mit unterschiedlichen Geschwindigkeiten machen.

    Werd dann mal sehen, wie ich Deinen Input in Gegenmaßnahmen praktisch verwerten kann.


    Gruß
    Searcher