-         
Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 50

Thema: lernfähiger Lininenfolger mit KI

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.120
    Blog-Einträge
    3

    lernfähiger Lininenfolger mit KI

    Anzeige

    Schon die ganze Zeit überlege ich, welches einfache Lernbeispiel man für einen KI-Lernalgorithmus verwenden könnte. Wir sind hier ja im Roboterforum und die zweirädrigen Roboter könnten bei der Funktion ein paar Inspirationen aus der Natur gebrauchen.

    Bei diesem Video eines linienfolgenden NiboBee-Roboters ist mir aufgefallen, dass er leicht hin und her pendelt:

    https://www.youtube.com/watch?v=D0R-...qRWq0w&index=2

    Daher kam mir die Idee, dass ein Linienfolger doch ganz wunderbar als Echtzeitlernbeispiel dienen könnte.

    Vielleicht kennt Ihr ja auch ein paar Projekte, die das schon umsetzen.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Moppi
    Registriert seit
    18.03.2018
    Beiträge
    1.627
    Blog-Einträge
    9
    Für einen Linienfolger brauchts ja nicht wirklich KI

    Aber klar, den Sinn verstehe ich. Gerade hatte ich überlegt, ob ich selber mal anfangen sollte, das Thema aufzubauen, so, dass jeder was davon hat und mitmachen kann, egal, in welcher Programmiersprache er schreibt.
    Ich halte es daher für unerlässlich und hätte die dringende Bitte, nicht wieder einfach irgendwie loszulegen, sondern, von Anfang an, mit dem PAP-Designer zu arbeiten. Das Teil ist winzig klein, aber man kann damit in der Tat sofort arbeiten. Das kann eigentlich jeder. Das Projekt könnte man nach dem Speichern auch austauschen. Müsste man sich genauer ansehen, ob das nur eine Datei ist oder mehrere. Kann dann jeder laden und bearbeiten und hier wieder einstellen. Und da es jeder versteht, kann es in seiner Programmiersprache verfassen und für die Allgemeinheit den PAP zur Verfügung stellen. Aber vielleicht wäre so ein Miniprojekt dann in Open-Source-Projekte besser aufgehoben.



    MfG


    PS: so wie es aussieht speichert der PAP-Designer nur eine kleine Datei, als PAP
    Geändert von Moppi (08.12.2019 um 11:56 Uhr)

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    4.870
    Zitat Zitat von stochri
    lernfähiger Lininenfolger mit KI - welches einfache Lernbeispiel man für einen KI-Lernalgorithmus verwenden könnte.
    ja das geht.
    Ist aber "nicht einfach".
    Prinzip:
    Man hat 2 , 3, 4 oder 5 Linien-Lichtsensoren als Inputs.
    Man hat die pwm-Geschwindigkeits-Steuerung linkes/rechtes Rad als binäre Outputs (Differentialantrieb).
    Man fährt beim Training manuell die Linie ab, in verschiedenen Schlenkern mit verschieden großen Fehlern, und das System speichert die Sensor-Inputs und die zugehörigen Drehgeschwindigkeiten der Räder zur Bahn- und Kurven-Korrektur in Echtzeit ab.
    Man braucht so vlt ca. 50- 200 Lernsets, die gespeichert werden, je nach Parcour.
    Wenn die Lernsets alle gespeichert wurden, wird das Training des Netzes begonnen. Das kann ein paar Stunden, Tage oder Wochen dauern, je nach MCU und Datensätzen.
    Wenn das Netz sich darauf einjustiert hat, kann man es mit den Daten laufen lassen.
    Geändert von HaWe (08.12.2019 um 16:21 Uhr) Grund: Zitat
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.120
    Blog-Einträge
    3
    man hat 2 , 3, 4 oder 5 Linien-Lichtsensoren als Inputs.
    Vor kurzem habe ich meine alten Roboter wieder gefunden: Unter anderem ein paar Asuros und ein NiboBee. Am liebsten ist mir der Asuro, der hat nur zwei SFH300 als Liniensensoren.

    Man braucht so vlt ca. 50- 200 Lernsets, die gespeichert werden, je nach Parcour.
    Wenn die Lernsets alle gespeichert wurden, wird das Training des Netzes begonnen. Das kann ein paar Stunden, Tage oder Wochen dauern, je nach MCU und Datensätzen.
    Das wäre jetzt wahrscheinlich die richtige Herausforderung für Gucki mit seinem Attiny85. Echzeitlernen auf Minimalprozessoren wäre das Ziel.
    Schade, dass sich Wolfgang im "Leberwurstmodus" verabschiedet hat.

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Moppi
    Registriert seit
    18.03.2018
    Beiträge
    1.627
    Blog-Einträge
    9
    Zitat Zitat von stochri Beitrag anzeigen
    Schade, dass sich Wolfgang im "Leberwurstmodus" verabschiedet hat.
    Noch ist nicht aller Tage Abend.



  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    4.870
    Zitat Zitat von stochri
    Echzeitlernen auf Minimalprozessoren wäre das Ziel.
    das lässt sich evtl auch auf einem AVR Arduino (z.B. einem MEGA2560) machen, dann hat man etwas mehr RAM in Reserve. Bei KI würde ich persönlich aber nicht unter einem M0 anfangen, am besten mit fpu (M4, ESP32).
    Der Arduino-API Code wäre dann aber auch glücklicherweise für alle MCUs der gleiche.
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.120
    Blog-Einträge
    3
    Aber klar, den Sinn verstehe ich. Gerade hatte ich überlegt, ob ich selber mal anfangen sollte, das Thema aufzubauen, so, dass jeder was davon hat und mitmachen kann, egal, in welcher Programmiersprache er schreibt.
    Anfangen ist immer gut, man lernt bestimmt was dabei. Als Controller eignet sich etwas "Arduino-artiges", das hat jeder zu Hause.

    Bei KI würde ich persönlich aber nicht unter einem M0 anfangen, am besten mit fpu (M4, ESP32).
    Die Frage wäre, ob ein ESP für die Erforschung der grundlegenden Prinzipien nicht schon etwas überdimensioniert wäre.
    Eventuell reichen schon zwei Neuronen. Wobei das entstehende System dann wohl eher einem klassischen Regler entspricht.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    4.870
    Zitat Zitat von stochri
    Die Frage wäre, ob ein ESP für die Erforschung der grundlegenden Prinzipien nicht schon etwas überdimensioniert wäre.
    Eventuell reichen schon zwei Neuronen. Wobei das entstehende System dann wohl eher einem klassischen Regler entspricht.
    klar, klein anfangen kann man immer, und MCU-mäßig aufstocken, wenn es dann doch komplizierter wird (Verhalten bei Sackgassen, Kreuzungen, starken wechselnden Kurven, Ecken, spitzen Winkeln,...)
    Hier wird man auch schnell in den Bereich der XOR-Situationen kommen, die bereits mehrschichtige Netze mit rechenintensiver float-Arithmetik auch für Exponentialfunktionen erfordern.
    Aber wie gesagt, bei Arduino Code ist das ja egal - was auf kleinen MCUs läuft, läuft auch auf großen (ntl keine spez. Register-Befehle verwenden!), und ein ESP32 ist nicht überdimensioniert, wenn man einen besitzt - er ist dann höchstens nicht ausgelastet (aber ausbaufähig).

    - - - Aktualisiert - - -

    PS,
    Vergiss auch nicht, dass die Outputs von Perzeptronen auf Boolean Werte trainiert werden, d.h. für 2 Motoren mit je 3 Steuerwerten (vor, rück, stop) braucht man bereits 3-4 Output- Neuronen, bei (notwendiger) abgestufter pwm-Steuerung sogar deutlich mehr, und bei 2-schichtigen Netzen dann davon jeweils (mindestens) das doppelte.
    Geändert von HaWe (08.12.2019 um 16:19 Uhr)
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Moppi
    Registriert seit
    18.03.2018
    Beiträge
    1.627
    Blog-Einträge
    9
    Zitat Zitat von stochri Beitrag anzeigen
    Vielleicht kennt Ihr ja auch ein paar Projekte, die das schon umsetzen.
    Direkt ein Linienfolger nicht. Aber an einem ähnlichen Projekt arbeite ich gerade. Dazu habe ich mir zuerst angesehen, wie ein einfacher Linienfolger funktioniert. Das geht nach dem Schema, in Fahrtrichtung: wenn der rechte Sensor über die schwarze Linie gerät, dann lenke nach rechts, wenn der linke Sensor über die schwarze Linie gerät, dann lenke nach links. Die schwarze Linie befindet sich zwischen den Sensoren. Das Trainieren eines KNN sollte daher nicht so kompliziert sein. Im Grunde sollte ein Perceptron-Modell mit 2 Eingabe und 2 Ausgabeneuronen für's Erste genügen.


    MfG

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Moppi
    Registriert seit
    18.03.2018
    Beiträge
    1.627
    Blog-Einträge
    9
    Ein Link zu einer deutschen Seite, wo Grundsätzliches zu Neuronalen Netzen erklärt wird. Unten auf der Seite, unter Trackbacks & Pingbacks, sind noch weitere Links, hinter denen sich weitere Erklärseiten verbergen.
    Da gibt es eine schöne Übersicht, über Arten neuronaler Netze.

    Auch schon mehrmals erwähnt, glaub ich: http://neuronalesnetz.de


    MfG
    Geändert von Moppi (10.12.2019 um 13:03 Uhr)

Seite 1 von 5 123 ... LetzteLetzte

Berechtigungen

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