- 3D-Druck Einstieg und Tipps         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 30

Thema: Regelungstechnik: Führungsgröße bestimmen

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    30.11.2004
    Beiträge
    15
    Anzeige

    Powerstation Test
    Naja, die hab ich ja. Ich kann ja quasi fast beliebig viele Abstandswerte speichern und daraus den zurück gelegten und den verbleibenden Weg bestimmen.

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von -skunk-
    Naja, die hab ich ja. Ich kann ja quasi fast beliebig viele Abstandswerte speichern und daraus den zurück gelegten und den verbleibenden Weg bestimmen.
    Nur das so ein US gerät relativ langsam ist und viel Prozessor Zeit verschenkt.

    Gruß Richard

  3. #13
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652
    Zitat Zitat von -skunk-
    ... habe mittlerweile herausgefunden, dass, wie ranke bereits sagte, die Geschwindigkeitsmessung aus 2 Abstandsmesswerten schon ziemlich beschissen ist ...
    Ohhhh - das hatte ich noch nicht herausgefunden, danke für diesen nützlichen Hinweis. Vielleicht ist meine Unwissenheit der Grund, dass meine autonomen Dosen so genau geregelt laufen können? Spott beiseite - ich verstehe das Argument wirklich nicht. Weil es ziemlich einfach ist, eine Geschwindigkeit zur errechnen aus 2 Abstandsmesswerten.

    Zitat Zitat von -skunk-
    ... eine Formel zur Berechnung von w auf. Ich komme aber nicht dahinter, wie du das gemacht hast ... die Geschwindigkeit habe ich ja bei meinem Aufbau nicht ...
    Brrrr, die Geschwindigeit "habe" ich ja bei meinem Aufbau auch nicht. Und Du hast vermutlich weder mein verlinktes Posting gelesen und schon garnicht ein paar weiter vorgeschaut - da steht nämlich Alles.

    1) In meinem Controller läuft ein Timer als eine Art Borduhr, der im 50µs-Takt einen Wert hochzählt; er ist für vielerlei Zeitmessaufgaben im System nützlich. Diese Zeitscheiben werden bei 20000 - entsprechend einer Sekunde - auf Null zurückgesetzt. Dieser Zeitwert heißt Izeit_1. Anmerkung: mein controller läuft mit 20 MHz, da habe ich von einem 50µs-Takt zum nächsten 1000 Maschinenzyklen zur Verfügung - das ist ziemlich reichlich.

    2) Hier wird gezeigt, wie ich die Encoder, je einer pro Motor, initialisiere damit sie einen Interrupt erzeugen wenn eine steigende Flanke erkannt wird. In dieser ISR werden die Encoderticks gezählt (gibt ne Wegmessung) und die aktuelle Bordzeit Izeit_1 zum Interruptzeitpunkt festgestellt.

    3) Aus der Bordzeit des vorhergehenden Interrupts und der aktuellen Zeit ergibt sich eine Zeitdifferenz, die ich von einem Interrupt zum anderen gemessen habe.

    4) Das Wunderbare ist jetzt, dass von einem Encodertick bis zum nächsten eine genau feststellbare Strecke gefahren wird - das gibt die Fahrzeuggeometrie und die Getriebeübersetzung her. Also kenne ich die Strecke und die dafür benötigte Zeit. Strecke pro Zeit ergibt also GENAU die gefahrene Geschwindigkeit. Diese Weisheit stammt noch aus frühen Schultagen (ich höre gleich auf zu ätzen).

    Der Rest der Regelung (ich habe bei mir eine Geschwindigkeitsregelung) ist im Link vorgestellt.

    So - nun habe ich beim WALL R eine ähnliche Aufgabe wie sie sich Dir stellt: ich muss nicht nur die Geschwindigkeit der beiden Räder regeln, damit ich einen Geradlauf habe - ich muss auch beizeiten langsamer werden, damit ich nicht in die Wand einbombe. Das hat Richard ja im Wesentlichen vorgestellt, es ist eine eher einfache Aufgabe/Lösung. Es wird einfach die Geschwindigkeitsvorgabe entsprechend dem Abstandswert ausgegeben.

    Irgendetwas noch unklar?
    Ciao sagt der JoeamBerg

  4. #14
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von oberallgeier
    [ Es wird einfach die Geschwindigkeitsvorgabe entsprechend dem Abstandswert ausgegeben.

    Irgendetwas noch unklar?
    So in der Art habe ich mir das auch vorgestellt. Wobei im Brutalo Fall auch aureicht Den Abstand zum Hindernis messen und nach Abstand/(Tick's_Weg) + ein paar ticks Sicherheit eine Vollbremsung hin zu legen. Da fällt dann die Zeit bei der Berechnung weg, OK mit nen Moped gibt das Staßenflechte.

    Gruß Richard

  5. #15
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652
    Zitat Zitat von Richard
    ... im Brutalo Fall auch aureicht Den Abstand zum Hindernis messen und ...
    Nix nur Brutalo. Beim WALL R habe ich KEINE Geschwindigkeitsregelung - schaut euch mal dazu das Video an, wie gut das geht. Dort wird die Geschwindigkeit nur gesteuert durch Vorgabe von PWM-Werten ohne Rückkopplung auf den Antrieb. Angetrieben wird über die Hinterachse (der Z4 hat eben KEINEN Vorderradantrieb) und die Richtung wird mittels Servo und Spurstange in konventioneller Automobiltechnik beeinflusst. Aufbau siehe hier. Die Geschwindigkeit ist in einer vier-, fünf- oder sechselementigen Tabelle. Abstand > 1,5 m heißt GibGummi, schrittweise runter bis etwa 30 cm, da heißt es dann Schleichfahrt. Die Stellung des Lenkservos pro Seite ist je nach seitlichem Abstand in einer ebenso kleinen Tabelle.
    Ciao sagt der JoeamBerg

  6. #16
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    59
    Beiträge
    1.825
    Nur mal kurz zur Verwirrung mit der Geschwindigkeitsmessung: Aus eigener Erfahrung (allerdings nicht mit dem SRF2) gibt es bei der US-Messung gerne mal ein paar Ausreisser bei den Messwerten. Wenn man dann mit so einem Signal versucht die Ist-Geschwindigkeit zu messen, wird das Ergebnis möglicherweise ziemlich verrauscht. Deshalb hatte ich vorgeschlagen zur Geschwindigkeitsermittlung eventuell einen Radencoder zu verwenden.

    Der oberallgeier hat inzwischen überzeugend dargelegt, dass es eine Geschwindigkeitsmessung nicht unbedingt braucht. Das liegt auch daran, dass die typischen permanenterregten Gleichstrommotoren eine Kennlinie haben, die es (in Grenzen) erlaubt, vom PWM-Wert auf die Fahrgeschwindigkeit zu schließen. Da in oberallgeiers Kellerflur glatter, ebener Boden verlegt ist, sind auch die Störgrößen für Seinen Wall R recht gering gewesen. Wäre er mit der selben Reglereinstellung auf Flokkati gefahren, dann hätte der Wall R sicher unnötig große Bögen um die Hindernisse gemacht.

    Nochmal zur Übersicht:
    Erster Ansatz:
    "Nicht anstoßen wollen" kann man mit einer Geschwindigkeitsregelung machen. Dabei wird die Ist-Geschwindigkeit mit einer Führungsgröße Soll-Geschwindigkeit verglichen (Differenzbildung), der Regler rechnet daraus ein PWM-Signal (also Dein Fernsteuersignal zwischen 200 und 300).
    Die Führungsgröße muß mindestens eine Funktion des Abstands zum Hindernis sein, zusätzlich kann man z.B. auch die Ist-Geschwindigkeit mit hineinrechnen (je schneller, desto eher bremsen).

    Zweiter Ansatz:
    Man kann auf die Messung der Ist-Geschwindigkeit unter Umständen verzichten und nur ein Fernsteuersignal in Abhängigkeit vom Abstand zum Hindernis erzeugen. Will man zusätzlich noch den Einfluß der Fahrtgeschwindigkeit einfließen lassen, so kann man diese aus dem bisherigen zeitlichen Verlauf des Fernsteuersignals schätzen. Das wird dann zwar keine Geschwindigkeitsregelung mehr, aber doch eine Abstandsregelung (das entspricht auch der Aufgabenstellung). Formal ist die Führungsgröße bei dieser Lösung nicht so offensichtlich, sie sollte ein Soll- Abstand sein (nämlich der Abstand, bei der die Soll-Fahrgeschwindigkeit Null wird).

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    30.11.2004
    Beiträge
    15
    @oberallgeier: Erst mal vielen Dank für deinen Sarkasmus. Das lockert den Umgang hier doch auf :\

    Zitat Zitat von oberallgeier
    Weil es ziemlich einfach ist, eine Geschwindigkeit zur errechnen aus 2 Abstandsmesswerten.
    Das ist richtig, wenn man die Zeit hat. Soweit bin ich in Mathe auch gekommen Mir ging es eher darum, dass ich mir bislang noch nicht sicher bin, wie genau die Zeit ist, in der ich die Messwerte bekomme. Momentan habe ich 70ms, die (laut Oszi) auch eingehalten werden. Ich befürchte nur, dass da vielleicht noch irgendwo Verzögerungen entstehen, wenn das Programm umfangreicher wird.

    Zitat Zitat von oberallgeier
    Brrrr, die Geschwindigeit "habe" ich ja bei meinem Aufbau auch nicht. Und Du hast vermutlich weder mein verlinktes Posting gelesen und schon garnicht ein paar weiter vorgeschaut - da steht nämlich Alles.
    Sicherlich habe ich deine Posts gelesen. Dass nach dem Lesen noch nicht alle Fragen geklärt sind, ist doch aber okay. Oder?

    Zitat Zitat von oberallgeier
    Diese Weisheit stammt noch aus frühen Schultagen (ich höre gleich auf zu ätzen).
    Danke!

    Zitat Zitat von oberallgeier
    Das hat Richard ja im Wesentlichen vorgestellt, es ist eine eher einfache Aufgabe/Lösung. Es wird einfach die Geschwindigkeitsvorgabe entsprechend dem Abstandswert ausgegeben.
    GENAU hier hakt's (vll hackt's auch) bei mir.

    Zitat Zitat von ranke
    Dabei wird die Ist-Geschwindigkeit mit einer Führungsgröße Soll-Geschwindigkeit verglichen (Differenzbildung), der Regler rechnet daraus ein PWM-Signal (also Dein Fernsteuersignal zwischen 200 und 300).
    Die Führungsgröße muß mindestens eine Funktion des Abstands zum Hindernis sein, zusätzlich kann man z.B. auch die Ist-Geschwindigkeit mit hineinrechnen (je schneller, desto eher bremsen).
    Hier liegt doch mein Problem, bzw. ist die der Knackpunkt. Ich habe meine Ist-Geschwindigkeit, die zwischen 200 und 300 liegt. Ab 250 fahre ich also nach vorn. Zur Berechnung der Sollgeschwindigkeit muss ich also die Faktoren Geschwindigkeit und/oder Abstand so skalieren, dass ich von der Ist-Geschwindigkeit Werte in einem von mir bestimmten Bereich abziehe. Nach dem Motto: Wenn du langsam und weit weg von der Wand bist, ziehe nur ein bisschen ab. Wenn du aber mit Vollgas kurz vor der Wand bist (was dann ja nie passieren würde) ziehe so viel ab, dass du bei fb_wert = 250 bist (evtl. auch rückwärts).
    Dazu müsste ich also die Geschw.- und Abstandswerte nach Belieben skalieren, evtl. die Anteile gewichten und würde folgendes durchführen können:

    fb_wert_soll = fb_wert_ist - ("v_auto skaliert" - "Abstand skaliert")

    Wäre das (m)eine Sollwertberechnung?

    Zitat Zitat von oberallgeier
    Irgendetwas noch unklar?
    Immer doch \/

  8. #18
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    59
    Beiträge
    1.825
    Zur Berechnung der Sollgeschwindigkeit muss ich also die Faktoren Geschwindigkeit und/oder Abstand so skalieren, dass ich von der Ist-Geschwindigkeit Werte in einem von mir bestimmten Bereich abziehe.
    Das ist nicht richtig. Wenn der Regler arbeitet wird Ist-Geschwindigkeit gemessen und die Soll-Geschwindigkeit (Führungsgröße) muss von außen vorgegeben werden. Die Differenz der beiden nimmt der Regler, biegt mathematisch etwas herum und was dann herauskommt ist die Stellgröße.

    Die "Erzeugung" der Führungsgröße wird im Regelkreis typischerweise nicht mehr dargestellt. Das könnte im einfachsten Fall eine Konstante sein (wenn man immer gleich schnell fahren will), in Deinem Fall ist die Führungsgröße eine Funktion von Abstandsmeßwert und Geschwindigkeit, muss also in Echtzeit ausgerechnet werden. Wie die Funktion ungefähr aussehen könnte ist anschaulich klar, wie sie genau aussieht hängt von Deinem Fahrzeug (wie stark soll/kann die Verzögerung sein, soll die Verzögerung über die Bremsstrecke konstant sein,...), Sicherheitszuschlägen (minimaler Abstand zum Hindernis, wenn Fahrzeug zum stehen kommt) ab.
    Ein möglicher Algoritmus zur Erzeugung der Führungsgröße wäre bei Dir:
    Wenn ((Geschwindigkeit^2/Abstand) > Konstante) dann Vollbremsung, sonst Vollgas. Der Wert für die Konstante errechnet sich aus der möglichen Bremsverzögerung. Sicherlich kann man das noch etwas verfeinern (man muss sich auch noch überlegen, wie das Fahrzeug, das vor dem Hindernis steht, wieder freikommt).

    Auch die Rechenschritte des Reglers selbst (also der mathematische Weg zwischen der Differenz bis zur Stellgröße) hängen von der Mechanik/Physik der Fahrzeugs ab, da gibt es aber verschiedene Methoden so etwas zu optimieren, wenn man das Verhalten des Fahrzeugs mathematisch beschreiben kann (z.B. über die Messung der Sprungantwort, hat Oberallgeier so gemacht und weiter oben verlinkt).

  9. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    30.11.2004
    Beiträge
    15
    Zitat Zitat von ranke
    Die "Erzeugung" der Führungsgröße wird im Regelkreis typischerweise nicht mehr dargestellt.
    Deswegen kapier ichs vielleicht auch nicht Bzw. habe ich die dynamische Sollwertbestimmung noch nicht so raus.

    Wenn ich einfach einen Sollwert vorgeben könnte, wäre ich schon um einiges Weiter

    Dein Vorschlag wäre ja quasi eine Zweipunktregelung...da hatte ich mir eigentlich schon ein bisschen was dynamischeres vorgestellt ^^
    Wenn ich deinen Vorschlag mal nehme:
    ((Geschwindigkeit^2/Abstand) > Konstante)
    und nicht einfach nur "> Konstante" als Kriterium nehme, sondern "einfach" aus etwas wie (Geschwindigkeit^2/Abstand) eine Führungsgröße berechne, wäre das der Anfang eines dynamischeren Weges?

    Wie das Auto da wieder weg kommt habe ich mir so vorgestellt, dass die Regelung nur greift, wenn die Geschwindigkeit > 0 ist und die FB auch Gas gibt. Wenn ich also irgendwann stehe und die FB nach hinten drücke, kann ich ganz normal "rückwärts ausparken".

    Ich denke, ich sollte alle weiteren Schritte erst in Angriff nehmen, wenn ich mir klar bin, wie der Anfang funktioniert

    Noch mal zwischendurch ein dickes Dankeschön für eure Hilfen!!!

  10. #20
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    59
    Beiträge
    1.825
    ((Geschwindigkeit^2/Abstand) > Konstante) war nicht als umsetzungsfähiger Vorschlag gemeint gewesen. Ich wollte damit nur andeuten, in welche Richtung es gehen könnte. Man kann ja auch Aspekte wie sparsamer Umgang mit Akkuenergie etc. mit einfließen lassen. Das führt dann zu Algorithmen, die schon frühzeitiger reagieren müssen. Die Grenze liegt dann bei der Reichweite des Sensors (die wieder von den Eigenschaften des Hindernis abhängt). In einem späteren Ansatz will man vielleicht auch noch eine Ausweichstrategie durch Lenken implementieren.
    Soo schlecht muss ein Zweipunktregler übrigens nicht sein - die Trägheit des Fahrzeugs glättet ja die stotternde Fahrt.

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad