- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 50

Thema: lernfähiger Lininenfolger mit KI

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    langsam vorwärts fährt oder steht (0)
    hier sehe ich logische Unschärfen bzw. Unmöglichkeiten, denn langsam kann nicht gleichzeitig dasselbe sein wie stehen.
    wenn also aus+langsam+schnell möglich sein sollen:
    4 Ausgänge, 2 für motor0 und 2 für motor1:
    Daher
    out0 0 out1 0: motor0 steht
    out0 0 out1 1: motor0 langsam vor
    out0 1 out1 1: motor0 schnell vor

    out2 0 out3 0: motor1 steht
    out2 0 out3 1: motor1 langsam vor
    out2 1 out3 1: motor1 schnell vor


    hier hätte man dann sogar noch je 1 Kodierung für 1/0 frei.

    bei 2 inputs und 4 outputs sind fürs Hiddenlayer 3-5 Neuronen sinnvoll und angemessen.

    vgl. hier: https://www.roboternetz.de/community...l=1#post657215 (PS.)

    Damit die Outputs eineindeutig sind, sollten sie mit der round() Funktion auf 0/1 ab/aufgerundet werden, sobald sie nach dem Lernen im laufenden Betrieb angewandt werden.
    Dann lassen sie sich sogar (fast) direkt zur Pinsteuerung für H-Brücken verwenden.
    Und natürlich gilt so etwas auch für Waschmaschinen, was definitiv auch nie von mir angezweifelt wurde.
    Geändert von HaWe (13.12.2019 um 20:21 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Zitat Zitat von HaWe Beitrag anzeigen
    hier sehe ich logische Unschärfen bzw. Unmöglichkeiten, denn langsam kann nicht gleichzeitig dasselbe sein wie stehen.
    Der Erste, für den linken Motor, der langsam vorwärts fährt oder steht (0); oder schneller vorwärts fährt (1).
    Der Zweite, für den rechten Motor, der langsam vorwärts fährt oder steht (0); oder schneller vorwärts fährt (1).
    Bedeutet, dass ich zwei Möglichkeiten der praktischen Umsetzung sehe.

    Selbstverständlich gilt:
    langsames Fahren ODER Stehen !== langsames Fahren && Stehen

    Ergo:
    langsames Fahren ODER Stehen

    Aber:
    Mir geht es nicht darum, eine Motorsteuerung im Detail vorzustellen.


    Zu den Unschärfen schreibe ich jetzt nichts, das würde nicht gut ausgehen.

    MfG

  3. #3
    HaWe
    Gast
    für ein ODER brauchst du 2 seperate Outputs pro Motor, du kannst nicht 1 einzigen Output pro Motor ODERn.
    Oder er kann immer nur 1 von beiden ausschließlich, aber nie optional und alternativ.
    ODER du hattest es vorher oben unscharf (heißt: missverständlich) fomuliert.

    Aber klar, du kannst auf meine Ratschläge aus meinem Wissen und meiner Erfahrung hören und daraus lernen, oder es bleiben lassen.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Zitat Zitat von HaWe Beitrag anzeigen
    für ein ODER brauchst du 2 seperate Outputs pro Motor, du kannst nicht 1 einzigen Output pro Motor ODERn.
    Oder er kann immer nur 1 von beiden ausschließlich, aber nie optional und alternativ.
    ODER du hattest es vorher oben unscharf (heißt: missverständlich) fomuliert.

    Aber klar, du kannst auf meine Ratschläge aus meinem Wissen und meiner Erfahrung hören und daraus lernen, oder es bleiben lassen.
    Ich hatte ja geschrieben, das Eine oder das Andere. Da die Wahrheitstabelle digital ist und das Netz nur auf "0" oder "1" trainiert wird,
    folgt der logische Schluss, dass nicht beides gemeinsam verwendet werden kann. Das sieht man.

    Aber klar, Dein Wissen und Erfahrung ....
    Vielleicht sind für mich, nach 30 Jahren Programmieren und Konzipieren, manche Dinge auch einfach logisch, wenn ich nur kurz drüberlese.
    Vielleicht sind daher meine eingestreuten Anmerkungen und Hinweise etwas missverständlich.

    Einfach einmal so einen Antrieb und die Steuerung per "0" und "1" entwerfen und schauen, wie es funktionieren könnte, würde ich vorschlagen. Dann versteht Du es vielleicht besser.

    Mit Deinem Wissen und Deiner Erfahrung kannst Du Dir aber auch schnell selbst eine rudimentäre Steuerung ausdenken, die einfach verständlich per KNN umzusetzen ist.
    Weitere Vorschläge sind im Forum doch eigentlich immer gern gesehen.

    Ich hatte auch schon gebeten, dass Du Dein Wissen und Deine Erfahrung über einen Workshop zum Thema darbieten könntest. Dann würde uns allen das mühselige Einarbeiten erspart und wir wären eher auf einem gemeinsamen Nenner. Aber da dies nicht passiert, geschieht zwangsläufig etwas anderes: dass wir jetzt ganz verschiedene Ansichten und Erfahrungen bekommen, was KNNe anbelangt, denn jeder setzt sich mit dem Thema selber auseinander, so gut er es kann. Und das bringt verschiedenste Lösungen hervor, in die sich jeder User hier hineindenken muss.


    MfG


    - - - Aktualisiert - - -

    @HaWe
    Übrigens ist das Thema "Workshop" noch nicht vom Tisch. Du kannst damit beginnen, wenn Du Dein Wissen und Deine Erfahrung teilen magst! Ich fände das gut und andere User hier offenbar auch.
    Geändert von Moppi (14.12.2019 um 07:12 Uhr)

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Natürlich kann die Steuerung des linken und rechten Motors verfeinert werden. Indem man, richtig von HaWe dargestellt, mehr Ausgangsneuronen verwendet.

    Das, was vorgestellt wurde, ist ein sehr einfacher Lernmechanismus, bei dem die möglichen Eingangszustände vorgegeben sind.
    Soll das Netz selbstständig lernen, zum Beispiel nur mit der Information, ob das Verhalten "richtig" oder "falsch" war, wird es komplizierter.
    Denn in diesem Fall hat das KNN keine Vorgabe, welche Fälle es, mit welchem Ergebnis, trainieren muss. Das Wissen darüber (also die Wahrheitstabelle)
    könnte wieder von einem KNN eingespeist werden. Auch das Wissen, welcher Ausgang dann wann aktiviert werden muss.
    Anders könnte aber auch eine Zielvorgabe formuliert werden, die beschreibt, dass das Ergebnis immer dann richtig ist, wenn beide Eingangsneuronen
    nicht aktiviert (0) sind, also kein Signal bekommen. Dieses Traingsverfahren könnte ewig dauern, weil der Roboter dann durch Zufall herausfinden muss,
    wann die Linie überfahren wurde und wann sie sich zwischen den Sensoren befindet. Das kann auch dazu führen, dass sich der Roboter sehr weit von
    der Linie entfernt und erst nach einigen Minuten oder Stunden die Linie erneut überquert. Womöglich könnte so ein unkoordiniertes Training dann
    Tage, Wochen oder Monate dauern. Vielleicht ist es aber auch so, dass das KNN die Aufgabe gar nicht lösen kann, weil die Linie verloren wurde
    und dann das Herumdrehen an den Gewichten, der einzelnen Neuronen, zu keinem Ergebnis führen kann oder zu einem falschen Ergebnis. Denn das
    beide Lichtsensoren "0" liefern (Bedingung, die oben genannt wurde), wäre auch dann bewerkstelligt, wenn der Roboter ganz einfach die Linie nicht überquert.
    Er könnte also einfach lernen, sich von der Linie fernzuhalten, ohne ihr zu folgen.

    Würde das KNN nach der Wahrheitstabelle trainiert und der Roboter würde die Linie verlieren, würde er einfach weiter geradeaus fahren.

  6. #6
    HaWe
    Gast
    Ich hatte, wie gesagt, dein "langsam oder stop" schlicht falsch verstanden, es war für mich unscharf bzw. missverständlich ausgedrückt.
    Zum Workshop:
    Ich finde nach wie vor, dass ein Linienfolger zu schwierig als Anfängerprojekt ist. Speziell ist es mir selber zu schwierig, eine Motorsteuerung per KI für Anfänger herunterzubrechen, sowohl (einfach) per Hard-Coding der Lernsets als auch (erst recht) für das echte autonome Muster-Training durch Abfahren von Linien samt manuell gemachter Korrekturen.
    Selbst als Fortgeschrittenenprojekt ist letzteres recht anspruchsvoll, wenn es Sinn machen soll (hatte ich oben auch bereits grob umrissen).
    Ich finde vielmehr, man sollte bei der Mustererkennung aus Mxts Link aufsetzen und als Anfängerprojekt einfach versuchen, andere Muster zu trainieren und dann multipel zu erweitern.

    Ich habe meine diesbezüglichen Netze bereits konstruiert (und auch verlinkt).

    Deine Erfahrung in Programmierung in allen Ehren, aber du hast bestimmt noch keine 10 Jahre selber verschiedene Netze programmiert und auch getestet und optimiert.
    Aber wie Konfuzius sagt:
    Der Mensch hat dreierlei Wege, klug zu Handeln;
    erstens durch Nachdenken, das ist das Edelste,
    zweitens durch Nachahmen, das ist das Leichteste,
    und drittens durch Erfahrung, das ist das Bitterste.
    Ich habe von daher überhaupt keine Probleme damit, wenn du deine eigene Erfahrung sammeln willst.
    Geändert von HaWe (14.12.2019 um 12:51 Uhr) Grund: typo

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Zitat Zitat von HaWe Beitrag anzeigen
    Ich habe von daher überhaupt keine Probleme damit, wenn du deine eigene Erfahrung sammeln willst.
    Offenbar hast Du es nicht verstanden, dass DU das tun solltest, uns das zu vermitteln.
    Du machst es nicht.

    Also gibt es zwei Möglichkeiten:
    1. das Thema bleibt hier unbehandelt
    2. wir beschäftigen uns selbst damit

    Ich hatte auch schon mal Fragen gestellt, die ich nun teilweise selbst beantworten kann. Warum war Dir das nicht möglich? Weil Du das Wissen nicht hast?



    selber verschiedene Netze programmiert und auch getestet und optimiert
    Nein muss ich auch nicht. Ich will nicht jahrelang irgend etwas kopieren und damit herummachen. Das kann ich zu Anfang tun.

    Falls es um Wissendiskussionen geht, habe ich hier und da schon gewissen Spielraum geschaffen, wo man diskutieren könnte, da vermisse ich aber Deine Teilnahme.

    Deine Erfahrung in Programmierung in allen Ehren, ..
    In der Äußerung zeigt sich, dass Du die nicht einzuschätzen vermagst.



    So, HaWe. Um es zu beweisen, dass Du etwas davon verstehst, bevor wir hier sinnlos weiter diskutieren, möchte ich jetzt, dass Du uns erklärst, auf welchen Prinzipien des Rumguckers Code funktioniert und welche Aussichten auf eine Intelligenz er, jenseits eines XOR-Problemlösung, hat.

    Ich bin jetzt kurz davor, gar nichts mehr zum Thema KNN auszuführen. Und Deine unquallifizierten Äußerungen zukünftig zu ignorieren oder gleich ganz hier weg zu bleiben.

    Bitte zeige jetzt, was Du auf dem Kasten hast!
    Nochmal die Fragestellung: dass Du uns erklärst, auf welchen Prinzipien des Rumguckers Code funktioniert und welche Aussichten auf eine Intelligenz er, jenseits eines XOR-Problemlösung, hat




    MfG
    Geändert von Moppi (14.12.2019 um 13:15 Uhr)

Berechtigungen

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

12V Akku bauen