0 Daumen
188 Aufrufe

Aufgabe:

Der Roboter sieht ungefähr so aus (https://d2nmr6p48f8xwg.cloudfront.net/content_pictures/pictures/000/001/570/814c51fb41fab7a3e3039ec6a067accc510a9341Lego-Mindstorms-Ev3-Car-Number-1-Robot-Fllcasts.png)
Er hat zwei Getriebe. Ein Getriebe lässt die Räder auf der linken Seite drehen und das andere die Räder auf der rechten Seite. Die Räder selbst sind ungelenkt. Nun ist am Roboter ein Sensor befestigt, der Helligkeitswerte erfasst mit Werten zwischen 0 (schwarz) und 100 (weiß). Der Roboter soll nun auf der linken Kante einer schwarzen Strecke fahren, indem man die Räder mit richtiger Geschwindigkeit bewegt werden. Die Geschwindigkeit kann Werte im Intervall [-100,100] annehmen, wobei eine negative Geschwindigkeit bedeutet, dass sich die Räder rückwärts bewegen. Bevor der Roboter sich fortbewegt, schwenkt er erstmal nach links um die Helligkeit außerhalb der Strecke zu messen, und dann nach rechts um die Helligkeit der Stecke zu messen. Danach begibt er sich wieder in die Ausgangslage (Sensor auf der Kante, also ca. 50% der Fläche außerhalb der Strecke (hell) und 50% innerhalb der Strecke (dunkel)). Basierend auf dem Mittelwert der gemessenen Helligkeitswerte, erkennt der Roboter, ob er sich immer noch auf der Kante befindet. Folgender Regelkreis ist gegeben

blob.png

wobei w die Führungsgröße (Mittelwert der beiden Helligkeitswerte), x die Regelgröße (der momentan gemessene Helligkeitswert) und e die Abweichung von x zu w darstellen.
Der Regler (PI-Regler) berechnet folgenden Wert

\( y(t)=K_{p} \cdot e(t)+K_{i} \cdot \int \limits_{0}^{t} e(\tau) d \tau \)

e(t) gibt die Abweichung zum Zeitpunkt t an



wobei Ki und Kp Konstante sind, die passend gewählt werden müssen. Mithilfe von y gilt es nun die Räder korrekt anzusteuern, sodass die Kante ruckelfrei (ohne zu stark zu oszillieren) verfolgt wird.



Problem/Ansatz:



Ich bin mir noch nicht sicher, wie ich die Konstanten wählen soll bzw. wie ich den y Wert generell verwenden soll um z.B. die Basis-Geschwindigkeit von xx% (ca. 20) für die Räder auf der jeweiligen Seite zu verändern. Generell könnte man eine Seite schneller drehen lassen um einzulenken. Hier hätte man das Problem, dass der Roboter bei sehr scharfen Kurven diese nicht korrekt entlang fahren kann. Hättet ihr eine Idee, wie ich die Konstanten wählen könnte und wie ich den y Wert verwenden könnte, um den Roboter ruckelfrei entlang der Kante fahren lassen zu können, auch bei schärferen Kurven

Avatar von

Für so was solltest du ein Technikerforum suchen, kein Physikerforum. oder sogar ein Roboter forum, das das Problem schon sehr oft gelöst wurde.

lul

Danke für die Antwort. Ich habe leider nichts im Web gefunden. Könntest du vielleicht einen Link bereitstellen?

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Nanolounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community