Hier mein Testergebnis:
1. In schnell gefahrenen Kurven flog der Asuro noch raus. Eine Verbesserung brachte eine Erhöhung von kp und dafür ein Veringern von ki. Die optimalsten Werte für meinen Asuro sind nun:
kp=5; ki=5; kd=70;
2. Ich habe kurze Schwankungen (im 4er Takt) bei den Sensordaten festgestellt. Dies brachte durch die Differenzierung starke Auschläge auf die Ansteuerung auch bei Geradeausfahrt. Dadurch wurde die Fahrt unnötig gebremst. Abhilfe schaffte eine Filterung der Sensordaten über 4 Zyklen.
Mit diesen beiden Verbesserungen fährt nun mein Asuro auch mit Vollgas über meinen Testparcours.
Das neue Programm incl. hex-file habe ich angehängt.
Zu deinem Proggi: Uiuiuiuiui!! Der Asuro fährt seine Bahnen sauberst ab, wackelt kein einziges Mal und gibt an den richtigen Stellen Gas! Richtig richtig gut!!!
An einigen Stellen bricht er manchmal noch aus (ich hab in meiner Bahn einige ca. 120° - 150° Ecken eingebaut), aber er fährt sauberst durch die Gegend. Der Rest dürfte über eine Anpassung der Regelparameter zu machen sein.
Ich guck mir das Proggi auch nochmal genauer an, wenn: ZEIT!
Jupp, hast ja wahrscheinlich auch gemerkt, daß ich zu dem PID Regler im Laufe der Wochen nix geschrieben habe, gleiches Argu: ZEIT! Ist gerade Jobsuche angesagt, von daher fahr ich fast jeden Tach durch die Gegend.
Sobald die Phase aber wieder vorbei ist, guck ich mir das Proggi mal genauer an, schaut echt interessant aus und läuft phänomenal gut!
(Damit machst du auf dem Robocup glaub ich fast jeden platt - *grins* - Asuro wins vs 1000 Euro Bot - stellt euch das mal vor ;D )
Ja, lange nichts mehr von Dir gehört. Schön, dass Dir das Programm gefällt.
Der Sinn der Sache war für mich, einmal auch in Mechatronik einen klassischen Regler von Grund auf zu entwerfen. Wenn ich schon mitreden will, dann sollte ich es auch einmal gemacht haben. In Mechatronik hatte ich nämlich noch keine Erfahrung, im Gegensatz zur Elektronik wo ich schon zig Regler entworfen hatte. Ich habe es nun auch nach der Methode, wie in der Elektronik üblich durchgezogen. Für manche bestimmt zu aufwendig und detailiert, denn Mechaniker gehen da üblicherweise sehr viel pragmatischer ran. Da gibt es Tabellen und Einstellregeln nach denen ausgewählt und eingestellt wird. Wenn es hilft, ist es ok, aber ich wollte es verstehen.
Ein schöner Nebeneffekt ist natürlich, dass es auch noch gut funktioniert. Zudem ist es ein Reglerbeispiel mit dem man spielen kann und sich das geänderte Verhalten beim Ändern der Parameter sichtbar machen kann.
Der nächste Schritt wäre jetzt noch der Fuzzy-Regler. Vielleicht findet sich dazu ein Fuzzy-Experte.
Schöne Videos!
Hab auch eins gemacht. Meins ist allerdings nicht so schön, aber die Geschwindigkeit kommt deutlich raus. Der Asuro fährt den Testkurs mit Vollspeed.
Hier der Link: http://dl4.rapidshare.de/files/46471...0/DSCN2854.MOV
Bin zu faul zum suchen...wie schnell fährt der Asuro eigentlich? ca. 30cm/s?
Wie breit ist so eine Spur auf der getestet wurde? 1,5cm?
Weil unser Roboter fährt nur etwas langsammer auf einer 1,5cm breiten Spur mit einem minimalen Radius von 15cm. Die Überlegung war erst mal, dass man den Abstand Achse-Sensoren nicht größer als ungefähr 15cm macht, um in engen Kurven das innere Rad nicht rückwärts drehen lassen zu müssen, um auf der Spur zu bleiben. Ist das soweit richtig gedacht?
Aber nun zur eigentlichen Frage, und zwar die Anordnung der Sensoren, wobei wir Reflexkoppler CNY70 (also digitale Auswertung) verwenden wollen. Der Asuro hat eine 'Sehbreite' von 1,5cm, was ich etwas wenig finde.
Meint ihr 8 Sensoren mit einem Abstand von jeweils 1cm ('Sehbreite'=7cm, Auflösung bei 1,5cm Spur 0,5cm) sind angemessen und schnell (nat. mit darauf angepasstem PID-Regler) oder sollte man es eher dem Asuro annähern und die Sensoren dichter Packen und dann eine geringere 'Sehbreite' für eine höhere Auflösung in Kauf nehmen?
Ich hoffe das Problem heilwegs verständlich dargestellt zu haben; mehr als 8 Sensoren kommen an sich nicht in Frage.
Lesezeichen