- 12V Akku mit 280 Ah bauen         
Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 41

Thema: Virtueller Bot [KINEMATIKMODELL]

  1. #31
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Anzeige

    Powerstation Test
    So,

    eigentlich wollte ich Pause machen, aber ich war zu neugiereig. Jetzt habe ich die Updatefrequenz weiter herabgesetzt: 1Update pro 50pix Wegstrecke.
    Eine Verbesserung wurde als notwendig erkannt und durchgeführt:
    Wenn die Spur kurz mal veloren ist, dann wird mit gleichem Lenkwinkel weiter gefahren, wenn das über mehr als 10 Pixels Wegstrecke der Fall ist, dann wird der Maximalwinkel verwendet, in die Richtung des alten Lenkwinkels.

    Das Ergebnis ist erstaunlich gut:

    Bild hier  

    blau = Spur verloren

    grüsse,
    Hannes

  2. #32
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hallo,

    das Gute an einem Simulator ist bekanntlich das einfache Testen. Bei einem realen Fahrzeug wär die Testerei schon zu aufwändig geworden, aber so wars einfach, noch weiter zu gehen. Also hab ich am Algo gearbeitet, um die Updatefrequenz herab setzen zu können. Die gezeigte Linie verbindet die Lage des Fahrzeugmittelpunkts bei den Updates. Das Fahrzeug bewegt sich aber im Allgemeinen auf Kreisbogen zwischen den Updates.

    Bild hier  

    Das geht beim vorliegenden Testkurs bis zum Updaten nach jeweils einer Fahrtstrecke von 2.5 Achsabständen zuverlässig.

    Wenn man öfter Updatet, dann schauts so aus:

    Bild hier  

    Der Algorithmus kennt Form und Richtung der Linie nicht. Das wäre zu aufwändig. Es wird nur entlang einer 2x geknickten Linie abgetastet, ob der Leitstreifen zu finden ist. Wenn er gefunden ist, wird zum Schnittpunkt hin gelenkt. Wenn der Winkel über dem Maximum der Lenkung liegt, wird eben bis zum Maximaleinschlag gelenkt.

    Bild hier  

    Damit man das gut sieht, habe ich den Lenkwinkel auf 20° begrenzt. Ein Verlieren der Spur ist nicht mehr Vorgesehen. Dafür gibts keine Lenkregel mehr, nur eine Fehlerbehandlungsregel.

    Nebenbei hat sich ergeben, dass dieser Algorithmus von einem wendigen Fahrzeug auch auf einem Parcour mit Knicken gut verwendet werden kann.

    grüsse,
    Hannes

  3. #33
    Benutzer Stammmitglied
    Registriert seit
    16.06.2008
    Ort
    Graz
    Beiträge
    41
    Hi

    Schönes Projekt. Was für eine Progrsmmiersprache nutzt du dafür?
    Hast du dir schon mal den Bildsensor bei Pollin angesehn? (Best.Nr. 100 997 ). Wenn der schnell genug wär, dann würdest du ein besseres Regelverhalten bekommen, als diese hackelige 2-Punkt-Regelung.

    Viel Spaß noch beim proggen.

    Kenny

  4. #34
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hi Ken,

    Danke für die Blumen.
    Programmiersprache steht oben im Thread: Object Pascal.
    Wie passt jetzt ein Bildsensor in einen Simulator?
    Was erscheint dir hackelig?
    Wo siehst du einen 2 Punktregler?

    grüsse,
    Hannes

  5. #35
    Benutzer Stammmitglied
    Registriert seit
    16.06.2008
    Ort
    Graz
    Beiträge
    41
    Hi

    Wie passt jetzt ein Bildsensor in einen Simulator?
    War nur als Anregung gedacht. Bei einer Simulation gehts ja auch immer um die Machbarkeit.

    Was erscheint dir hackelig?
    Das hin und her zwischen den 2 Punkten.

    Wo siehst du einen 2 Punktregler?
    Das ist von der Spurerkennung sehr einfach, da nur 2 Testpunkte untersucht werden. Die resultierende Bahn ist auch recht ruhig und zielführend
    Wenn du nur 2 Punkte betrachtest, dann hast du ja praktisch nur einen 2-Punkt_regler. Ich seh grad, das du bei deiner letzten Simulation eh sowas wie einen Liniensensor eingebaut hast.

    Kenny

  6. #36
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hi Ken,

    da hast du einiges gründlich missverstanden. Ich versuchs nochmal zu erklären.

    In eine Software werde ich wohl kaum Sensorhardware einbauen können. Wie du diese 'Anregung' meinst, ist nicht nachvollziebar.

    Welches angebliche Hin und Her zwischen 2 Punkten du meinst, müsstest du schon hinschreiben. Der Bahnverlauf ist doch ruhig und und geschmeidig. Also ist das Regelverhalten fliessend und nicht 'hakelig'.

    In diesem Thread wurden 2 Regler beschrieben und keiner davon ist ein Zweipunktregler. Schau dir im Wiki die 2 Punktregelung an, dort siehst du was das ist: Der hat 1 Sensor mit 2 Zuständen.

    Hier im Tread der 1. Regler kennt 7 Zustände und nicht 2 wie der 2 Punktregler. Wenn du dir die Abläufe ansiehst, dann könntest du erkennen, wie die Integration die Verläufe noch weicher macht.

    Und der 2 Regler der beschrieben ist, der arbeitet überhaupt kontinuierlich. Fliessender gehts ja nicht.

    Wenn noch immer etwas unverständlich ist, bitte einfach konkrete Fragen zu stellen.

    grüsse,
    Hannes

  7. #37
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hallo,

    zurück zum Algorithmus: durch die Optimierung hat der eine Fähigkeit erhalten, die gar nicht geplant war: Jetzt kann er um die Ecke Fahren.

    Bild hier  

    Hier sieht man 2 Kurvenscharen. Das sind die Spuren von 2 verschiedenen Fahrzeugen.

    1. hoher Einschlagwinkel möglich (60°) und Liniensuche knapp vor der Vorderachse: Die Bahn schmiegt sich richtig in die Ecken der Leitlinie hinein.

    2. mässiger Einschlagwinkel (bis 40°) und Liniensuche weiter voraus: Die Spur folgt etwas lockerer der Leitlinie, aber die Abweichung nach innen und nach aussen ist gut ausgeglichen. Es treten keine überschiessenden Relungen auf.

    Der Algo scheint mir jetzt einmal gut geeignet als Verbesserung für mein bestehendes Fahrzeug.

    Damit die Bahnregelung auch wirklich komfortabel in andere Programme einzufügen geht, schreibe ich gerade die Regelungsprozeduren in ein Regelungsobjekt um. Das ist aber recht wenig Aufwand vor Allem, wenn man den Nutzen in Rechnung stellt.

    EDIT:
    Die Hauptschleife im Programm, wo ursprünglich alles dringestanden ist, ist aufgeräumt. Hier der Teil mit Simulation, Linienerkennung und Steuerung:

    Code:
    uses  unit2;
    
    // ...
    
    steer1:=tsteer.Create;
    steer1.init(log,image1,imagemap,l,realedit(editmax),realedit(editvoraus),realedit(editview));
    
    // ...
    Code:
    // ...
    
    getnewposition(newx,newy,neworient); // Simulate  Movement
    
    // ...
    
    steer1.getlinepoint(newx,newy,neworient,xfound,yfound,foundline);
    
    if foundline then
      begin
      steer1.CalcAngle(xfound,yfound,newx,newy,neworient,sa);
      editsteering.text:=inttostr(round(sa));
      end
    else
      editv.text:='0' // emergency stop
    ;
    
    // ...
    So einfach gestalten sich dann der Einbau und der Aufruf im Hauptprojekt: https://www.roboternetz.de/phpBB2/viewtopic.php?t=36497

    Grüsse,
    Hannes

  8. #38
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hallo,

    Nachdem das Finden der Ansteuerpunkte auf der Leitlinie recht gut geht, hab ich mir nun die Regelung selbst vorgenommen. Bis jetzt habe ich einfach den Lenkwinkel auf den Ansteuerpunkt ausgerichtet. Das geht bei hoher Updatefrequenz perfekt wie das Ziehen eines Wagen mit Deichsel, aber nicht bei niedriger Updatefrequenz. Im letzteren Fall übersteuert dieser Algo fürchterlich.

    Jetzt habe ich mit die Geometrie der Lenkungskinematik in die Regelung eingebaut. Da wird jetzt invers vom gewünschten Ansteuerungspunkt zum erforderlichen Lenkwinkel zurückgerechnet. Beide Varianten hab ich mal in ein Spurbild geplottet:

    Bild hier  

    Die Updatefrequenz liegt in beiden Fällen gleich niedrig: 1x alle 60 Pixels Wegstrecke (=1 Radstand).

    Wenn man die Regelung ohne Modell bedämpft, indem man den Lenkeinschlag begrenzt wird das Verhalten zwar noch besser, aber doch nicht so gut, wie mit Modell. Bei der Regelung mit Modell ist die Winkelbegrenzung irrelvant. Bei starker Begrenzung wird die Istspur stark ausgerundet, aber sie ist in jedem fall glatt und variiert nicht von Runde zu Runde.

    Jetzt beginne ich langsam das, was ich tue, zu verstehen. Interessant und erstaunlich ist es auch. Ich hoffe, die Berichte interessieren noch jemanden.

    grüsse,
    Hannes

  9. #39
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    44
    Beiträge
    1.273
    Hi Hannes!
    Ich hoffe, die Berichte interessieren noch jemanden.
    Ich finde das sehr spannend und die Idee mit der "Deichsel" sehr gut. So wird der Sensor immer dort hin bewegt, wo sich mit hoher Wahrscheinlichkeit der Sollpfad befindet.
    Allerdings geht es mir mit diesem Projekt so wie mit vielen anderen Projekten hier: Wenn ich es nicht selber mache, verstehe ich nur die Hälfte.
    Viele Grüße, William
    -> http://william.thielicke.org/

  10. #40
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    54
    Beiträge
    502
    Moin Vohopri,

    natürlich interessiert noch was du hier experimentierst. An Reglung kommt man nicht vorbei, wenn man sich für Roboter interessiert.

    Schön ist auch, dass du mal etwas Code sehen lässt. Dadurch lässt sich dann das Ganze auch nachvollziehen. Vielleicht kannst du uns ja mal TSteer öffentlich machen, damit auch die ganzen Funktionen transparent werden.

    Danke für deine Mühe

    sast

    雅思特史特芬
    开发及研究

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Berechtigungen

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

12V Akku bauen