-
        

Ergebnis 1 bis 3 von 3

Thema: PID Regler - Fragen und Projekt

  1. #1

    PID Regler - Fragen und Projekt

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,
    auch wenn das hier schon gefühlte 1000 Mal gefragt wurde, bitte ich Euch, das einem Anfänger wie mir, nochmal schön Schritt für Schritt zu erklären. Also:
    Ich mache mit meinem Roboter beim RoboCup Rescue Junior Primary mit. Wir werden leider nicht zu den German Open fahren (wir haben das Qualifikationsturnier unserer Schule schon vermasselt, daher dieser Beitrag), aber es wird bald noch ein Wettbewerb mit ein paar Schulen geben. Wir verwenden den LEGO MINDSTORMS mit einer selbstgebauten Erweiterungsplatine (dazu gleich mehr) und sieben Lichtsensoren CNY70. Wichtig ist erstmal, dass wir möglichst schnell einer Linie mit Lücken und 90° Kurven nachfahren können. Die Platine schaltet mit einem PCF8574 die Lichtsensoren immer zum A/D Wandler des MINDSTORMS durch, daher dauert es auch ca. 60ms, um von einem Sensor zum Nächsten zu schalten. Ich habe jetzt dieses Video gefunden:
    http://www.youtube.com/watch?v=mJV-KDqHgDQ
    Dort wird doch auch so eine PID Regelung verwendet, oder? Dazu habe ich jetzt noch ein paar Fragen:
    - So eine Regelung lässt sich komplett Softwareseitig realisieren?
    - Wie genau wird so eine Regelung programmiert? Gibt es für jeden einzelnen Sensor eine Abfrage, oder wird das sozusagen verschachtelt gemacht (also bestimmte Sensoren werden nur abgefragt, wenn bestimmte Sensoren ,,ausgelöst" werden), oder wird das komplett anders gemacht? Gibt es irgendwo ein simples Beispiel so einer Regelung mit mehr als oder genau 5 Sensoren?
    Ich hoffe, ihr habt verstanden, was ich meine!
    Vielen Dank und
    Viele Grüße
    teamohnename

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    52
    Beiträge
    1.819
    Ganz unabhängig davon, ob hier ein PID Regler eingesetzt wurde oder nicht, vermute ich bei dem von Dir verlinkten Video eine komplexere Kombination von Regelung und Steuerung.
    Ich würde vermuten, dass auf einer Geraden eine Regelung insoweit realisiert wird, dass der Robot versucht, die Linie möglichst mittig zu befahren. Das ist insoweit relativ einfach, weil die Linie keine echten Kurven hat. Erkennt der Robot eine Abzweigung, Kreuzung oder einen Knick und will dort die Richtung wechseln, dann wird diese Regelung kurzzeitig ausgeschaltet und ein (vorher ausprobierter und optimierter) 90°-Knick in die entsprechende Richtung gefahren (respektive 180° Knick bei einer Sackgasse). Danach wird wieder auf die Regelung auf die Linienmitte geschaltet bis zum nächsten Abbiegevorgang.
    Interessant wäre das Verhalten des selben Roboters in einem Labyrinth mit Abzweigungen, die nicht im 90° Winkel sind oder mit stark gebogenen Linien oder auch nur auf einem rutschigerem Boden. Ich vermute, er würde sehr schlecht aussehen. Man kann also den Algorithmus stark auf die schon bekannten Eigenschaften der Aufgabe abstimmen.

    Wenn der Roboter nach dem Lernen die zu fahrende Strecke bereits kennt, kann er längere Geradenstücke mit höherer Geschwindigkeit fahren, er kennt ja die Lage der zukünftigen Knicke, vor denen er rechtzeitig bremsen muss. Die Realisierung aller dieser relativ komplexen Vorgänge ist eigentlich nur softwaremäßig möglich - wenn es nur darum geht, einer (geraden oder gebogenen) Linie zu folgen wäre das auch ohne MC also mit einem relativ einfachen Regelkreis möglich.

    Mehrere Sensoren: Für die Regelung in Linienmitte wird man aus den einzelnen Sensorwerten einen Wert errechnen den man "Abweichung von der Mitte" nennen könnte - je nach Vorzeichen ist die Abweichung dann nach links oder nach rechts. Dadurch gewinnt man eine Eingangsgröße als Eingangswert für den Regler. Für diesen Zweck müsste man tatsächlich nicht alle Sensoren abfragen, sondern nur die unter denen die Linie ist (das weiss man ja etwa von der letzten Abfrage). Damit man aber keine Abzweigungen verpasst, wird man trotzdem wahrscheinlich immer alle ansehen müssen. Um eine Sackgasse von einer Unterbrechung der Linie zu unterscheiden wird man am einfachsten an eienm Linienende nocht ein paar Zentimeter weiterfahren, bevor man kehrtmacht.

    Falls Du es noch nicht gesehen hast: im Wissensbereich gibt es einen Artikel Regelungstechnik: http://www.rn-wissen.de/index.php/Regelungstechnik
    Das beantwortet vielleicht auch die eine oder andere Frage (oder hilft, künftige Fragen konkreter zu stellen).

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.566
    Bei dem Video wird am Anfang der Zustand der Sensoren am Display gezeigt. Der Roboter ist so programmiert das wenn auf der linken Seite ein Weg erkannt wird diesen entlang fährt. Es wird immer links abgebogen.

    MfG Hannes

Berechtigungen

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