AddOn AI KI

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

AddOn AI KI

Beitrag von fishfriend » 22 Apr 2025, 15:37

Hallo...
Ich beschäftige mich gerade mit dem AddOn AI KI.
Es ist nicht so leicht wie ich erst gedacht hatte.
Scheinbar ist die Software überarbeitet worden und die Doku wohl nicht.
Leider sind u.a. Links nicht vollsändig und die Programmnamen nicht immer gleich mit der aktuellen Doku.
Im Grunde ist es sinvoll, mal ein wenig ausführlicher, über diesen Kasten was zu machen.
Axel Chobe hat ja schon mal angefangen.
Man kann aber noch viel viel mehr aus diesem Kasten rausholen.
Es ist auch die Frage ob überhaupt Interesse von euch an sowas da ist.

BTW
Es gibt da auch ein paar Kleinigkeiten die lustig sind.
In der GUI, die man runterladen muss um die KI anzulernen, sind noch ein paar zusätzliche Sachen drinn.
U.a. ein Bild von Grace Hopper. Das wir den meisten erst wohl nichts sagen, aber die Frau war echt fitt in sachen Computer.
Einfach mal den Wikipediaartikel suchen. Besonders der erste dukumentierte Computer-Bug :-).
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

nobi
Beiträge: 20
Registriert: 30 Jun 2024, 15:24

Re: AddOn AI KI

Beitrag von nobi » 23 Apr 2025, 09:06

Hallo Holger,

vorweg, ja von meiner Seite besteht Interesse.
Ich habe mich ebenfalls mit dem Thema beschäftigt, angefangen bei "Teachable_machine". Ich glaube einiges davon verstanden zu haben, zumindest bis zu Aufgabe 2 aus dem Begleitmaterial.
Das Beispielprogramm zu Aufgabe 3 unterscheidet sich lediglich in der Funktion "tag_image" mit variable "tag_name" gegenüber dem zu Aufgabe 2. Warum das so ist erschließt sich mir nicht. Das Bsp.-programm zu Aufgabe 4 bricht mit der Fehlermeldung:
ValueError: Could not open '/opt/workspaces/machine-learning-user/models/MyAIModel/model.tflite ab.

Zu diesem und dem vorgenannten Problem habe ich ft angeschrieben, leider noch keine Antwort erhalten. Jetzt habe ich das Thema einfach mal zurückgestellt und warte die Antwort von ft ab.
Es wäre natürlich ganz toll, wenn ihr das Thema verständlich aufbereiten könntet.
Danke und herzliche Grüße
Norbert

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 23 Apr 2025, 15:46

Hallo...
Die Fehlermeldung sagt, dass der TXT 4.0 die Tensorflor KI nicht öffnen kann.
Die KI muss ja nach dem anlernen auf dem PC, wieder auf den TXT 4.0 übertragen werden.
Das macht man mit der GUI -nachdem- im Fenster "Training process completed successfully" erscheint.

OK, ich werde mal was zur KI zusammenstellen und auch die anderen Sachen mal hochladen. Die sind aber noch nicht ganz fertig.
Wegen der KI hab ich extra noch mal jemanden (sehr kompetenten (!)) von der VHS Münster gefragt.
Ansonsten sind ja noch die von der FH Münster da, die man fragen könnte.
Ich denke, wenn man die freundlich fragt, kreigt man bestimmt eine Antwort.

Im Grunde ist es aber auch kein Hexenwerk. Man muss halt nur alle Schritte und Programm nacheinander machen. Man kann nicht das Programm vom z.B. übernächsten Schritt nehmen, so wie wir es von anderen fischertechnik Kästen kennen.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 23 Apr 2025, 17:10

Hallo...
Das Beispielprogramm zu Aufgabe 3 unterscheidet sich lediglich in der Funktion "tag_image" mit variable "tag_name" gegenüber dem zu Aufgabe 2. Warum das so ist erschließt sich mir nicht.
Ich bin mir nicht 100% sicher.
Bei mir gibt es -diesen- Unterschied nicht. Oder ich hab es übersehen.
Bei mir ist es:
subprocess.Popen(['chmod', '777', '/opt/ft/workspaces/machine-learning-user'])
subprocess.Popen(['chmod', '777', '/opt/ft/workspaces/machine-learning-user/training_data'])
Also Anlegen der Unterverzeichnisse und Ändern entsprechender Berechtigungen.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

nobi
Beiträge: 20
Registriert: 30 Jun 2024, 15:24

Re: AddOn AI KI

Beitrag von nobi » 23 Apr 2025, 19:22

Hallo,

ich habe eben nochmals beide Programme geladen, die Codes kopiert und verglichen.
Der angeführte Code trifft auf das Programm TM_A2 zu.
Bei TM_A3 fehlen diese beiden Code-Zeilen.
Erklärt das mögl.-weise die Fehlermeldung ?

Viele Grüße
Norbert

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 23 Apr 2025, 21:29

Hallo...
Ich denke es geht um das "Schritt für Schritt". In diesem Fall halt, von Programm zu Programm.

Es werden die Verzeichnisse für die "trainings_data" angelegt.
Die sind dann auch für alle anderen Programme da. (Sofern sie nicht schon vorher angelegt wurden.)

Aber, von der GUI selbst, ist -nicht- das Modell der Tesoflor-Light (model.tflite) übertragen worden. Also die angelernte KI selbst. BZW der TXT 4.0 kann sie nicht öfnnen.
Im Robo Pro Coding Programm (TM_A4) ist das unter "initialize_classifier". Also zumindest wird das versucht und dann kommt eben diese Fehlermeldung.

Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 26 Apr 2025, 09:18

Hallo...
Es hat sich also bestätigt. Mömentan ist wohl die Software und die Doku im Umbruch.
Es kann also sein, dass sich demächst noch was ändert.

Meine Anmerkungen.
Es ist etwas ungünstig. Zusammen mit dem Kasten sind 3 Taster. Man hat beim ersten Beispiel 4 Lampen. Das wird dadurch gelößt, dass 4 Tasten auf dem Display erzeugt werden. Vom Handling her würde ich es mit den echten Tastern machen und es dann auf 3 Objekte beschränken. Aber OK man kann es auch so machen, weil man dann auch die Möglichkeit hat viel mehr Objekte einzulesen. Man muss "nur" die Anzahl der Tasten auf dem Display erhöhen.

Mal was Grundsätzlichen zu KI Tensorflow. (Leienhaft KI = Neuronales Netz)
In dem Zusammenhang tauch ab und an "Keras" auf. Das ist im Grunde "die" KI, aber es wird die Tensorflow -Light- benutzt. Diese ist eine kleinere Version, die auf Handys und Controlern läuft, da si kleiner ist. Man lernt die KI auf leistunsfähigeren Rechnern an und überträgt die tflight auf das Endgerät. In unserem Fall halt den TXT 4.0 .

Die Rechteverwaltung ist eine kleine Sache. Verzeichnisse bekommen 777 und z.B. Textdateien 666. So kann jeder darau zugreifen. Man muss es nur wissen. Sonst hat man eventuell keinen Zugriff auf die erstellten Bilder, um sie auf den PC zu laden.

Ich hatte mich auch erst gewundert, aber die Bilder werden bei tflight verkleinert/beschnitten. Ich habe aber gesehen, dass es in anderen Projekten genauso gemacht wird. Bei der Sortieranlage wird das durch OpenCV gemacht und auch die Farbe geliefert. Ich hab dafür etwas länger gebraucht, weil das den kleinen Nachteil hat, das es eben RGB ist und nicht HSV. Wenn man z.B. gelbe Bauteile hat muss man andere Werte nehmen.
Um aber ein Bild auf dem Display vom TXT 4.0 anzuzeigen, muss ein PNG-Bild in das Format base64 umgewandelt werden.

Kleinigkeiten:
Frischer TXT 4.0 und man versucht es zum laufen zu bekommen. Man startet Robo Pro Coding und stellt eine Verbindung her IP-Adresse, API Schlüssel...
So, Robo Pro Coding erkennt: es muss ein Update her. OK, welches nehmen wir nun mal. Man muss wissen, das wenn man einen ganz alten TXT 4.0 hat man erst ein Zwischen Update machen muss, um dann das neuste aufspielen zu könne. OK, das dumme ist aber, das bei jedem aufspielen eines Updates im Grunde ein neues Gerät im Netztwerk erscheint. Um nun damit eine (WLan) Kommunikation aufzubauen muss man wieder eine -andere- IP eingeben, auch in Robo Pro Coding.
Robo Pro Coding zeigt dabei eine Standart IP zu anfang. Die muss aber nicht richtig sein. Die richtige ist unter Info/WLan.

Nur so erst mal zum Einstieg.
Mit freundlichen Grüßen
Holger


Die Bildnamen, die zum anlernen genutzt werden, enthalten Informationen für die KI. Beim der Zugangskontrolle halt "Yes" oder "No". Die 10 aufzunehmenden Bilder müssen sich aber irgendwie unterscheiden. Man kann das auch mit einer fortlaufenden Nummer machen. Ist aber ungünstig, da wenn man das Programm noch mal startet, die schon gemachten Bilder überschrieben werden. Nun wird im Beispielprogramm die Systemzeit genommen. Da muss man aber wissen wie das geht. Selbst für jemanden, der alle Kästen vorher selber programmiert hat, ist das eine Herausforderung.
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 01 Mai 2025, 10:53

Hallo...
So, nun ist Aufgabe 3 auch gemacht.
Ich habe mal das Programm A3 etwas verändert und 4 Farben Bausteine 30er und 15er genommen.
Also RED, Black, GRAY, YELLOW. Ich habe ca. 10 Bilder von den Seiten gemacht.
Das Modell war die Schranke und somit ca. 10 cm Entfernung.
Die gemachten Bilder haben z.B. den Namen BLACK_1746078873986.3215.png , GRAY_1746078847817.3076.png ...
Zusätzlich hab ich ein Feld NO eingefügt und das entsprechende Bild hat den Namen NO_1746080318935.5508.png .
Die Bilder liegen auf dem TXT 4.0 unter machine-learning-user/training_data/MyTrainingData .

Man sollte sich die Bilder mal alle anschauen (einfach anklicken) und die löschen, wo z.B. Finger mit drauf sind.
Die neuste Version des GUITrainer starten.
Als erstes muss man IP-Adresse vom TXT ändern.
Ich habe nun:
Training Set Name: MYTrainingData
AI Model Name: MyAIModel
TXT4 Hostname: 192.168. ... Die IP unter Info/WLAN beim TXT 4.0
TXT4 Username: ft
TXT4 Password: fischertechnik

Nun sollte man "Create directories" in TXT anklicken und RUN drücken.
Es werden nun die leeren Verzeichnisse auf dem TXT 4.0 angelegt und die Zugriffsrechte geändert.
Dann muss man das Häckchen bei "Create directories" entfernt werden und Download from TXT4 anklicken.
Bei RUN werden nun die Bilder auf den PC runtergeladen. Die sind dann im Verzeichniss, wo die GUI ist in einem Unterverzeichniss.
Nach Run Training gibt es in anderen Unterverzeichnissen das KI Modell und eine Label.txt Datei.
Diese weren mit "Upload Model to TXT4" auf den TXT 4.0 zurückübertragen.

Ich hab dann das Programm A4 etwas geändert, da ja die Farben anders sind.
Für NO hab ich eine LED blinken lassen. Im Grunde hätte man auch eine 5 LED nehmen können, da ja die LEDs an einem M-Ausgang angeschlossen sind.

Das Programm A4 hat meiner Meinung nach "Macken". Ich denke ich werde es noch mal überarbeiten. Zum einen fragt es den Taster ab und zu anderen den Button auf dem Bildschirm. Von der Funktion her braucht man aber nur den Taster. Eine Zeit später erscheint halt das Ergebnis auf dem Display und die LED leuchtet.
Trotz guter Beleuchtung kann das Programm Schwraz, Rot und Grau nicht unterscheiden. Es erkennt nur Gelb, No, und Schwarz.
Rot und Grau werden als Schwarz erkannt. Ich werde damit aber noch mal etwas rumspielen.
Die Erzeugung des KI Modells geht nicht ohne Warungen ab - warum auch immer. Das Modell läuft aber.
Es wird zwar Tensorflow Light benutzt, aber es ist Kera KI die wohl ein 3-Dimensionales Array erzeugt. Als Ausgabe werden Bildnamen abgeschnitten und nur der erste Teil als Label genutzt. Im meinem Beispiel ist das BLACK, GRAY, RED, YELLOW und NO.
Es gibt auch eine Ausgabe der Erzeugten KI bzw des Arrays. In dem Textfenster der GUI wird es angezeigt. Man kann sich nach den Einzelnen Schritten mit Ctrl-A und Crtl-C den Text mal kopieren und in einem Editor genauer anschauen.
Ich hatte erst Probleme mit den Speicherorten. Die GUI nommt als vorderen Teil des Pfades machine-learning-user/training_data/ an.
MyTrainingData ist dann nur das Unterverzeichniss davon. Wenn man aber es leer lässt wird tatsächlich versucht, das oberste Verzeichnis runterzuladen. Vermutlich wegen der Rechte wird es nicht gemacht.
Ich gebe zu, mich würde mal das Programm GUI selbst, ineressieren...

Kleinigkeiten
Wenn man versucht die KI auf den TXT 4.0 raufzuladen ohne die Verzeichinsse zu erzeugen, wird das mit einer Fehlermeldung abgebrochen.
Das liegt vermutlich an der Rechteverwaltung. Man kann sehen, das nach der Erzeugung die Rechte geändert werden. Wenn man soetwas in der Art selber mal machen möchte, muss man halt daran denken auch die Rechte zu ändern. Auf dem PC werden die Unterverzeichnisse in einem Schritt erzeugt. Mich würde mal interessieren ob das bei einem Linuxrechner auch so geht.

Im Grunde frage ich mich, warum die KI die Farben nicht so gut erkennt. Wenn ich das richtig in Erinnerung habe, nahm die große KI ft-Anlage die Farben nicht von der KI sondern von OpenCV. Ich gebe zu, ich habe zu wening Ahnung von Keras und der TFLight um eine Fehleranalyse aus der Ausgabe zu machen. Da muss ich mich noch einlesen. Die GUI stellt ja ein Grundgerüst für die Erzeugung zur verfügung. Es ist halt die Frage, ob man soetwas auch selber machen kann. Zum einen um es zu verbessern (ohne Warnungen) oder mal was zu ändern.

Um weitere rote Bausteine zu unterscheiden, muss man den Winkel der Kamera ändern. Es ist auch die Frage, ob man eine zweite Kamera nehmen könnte oder die Position mechanisch verändern kann. Ich denke, man könnte auch zwei mal das Ganze hintereinander machen, um so mehr Daten an das Hauptprogramm zu liefern, dass erst danach die Entscheidung trifft.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 01 Mai 2025, 11:21

PS
Also ab und zu erkennt das Programm auch Grau. Eventuell sind es einfach zu wenige Bilder.
Das Programm läuft nicht richtig. Zwar wird der Button auf dem Display abgefragt und auch die Antwort gegeben, aber das Display zeigt keine aktuellen Bilder mehr des Hauptprogramms an.
Ob das Hauptprogramm selbst auch in einem eigenen Thread laufen muss?

Wenn man das Programm vom PC aus startet, hat man auch eine Textausgabe auf der Konsole.
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Techum
Beiträge: 138
Registriert: 25 Dez 2014, 20:50
Kontaktdaten:

Re: AddOn AI KI

Beitrag von Techum » 06 Mai 2025, 22:48

Hallo Holger,

nach meinem bisschen Erfahrung mit dem Trainieren eines Modells würde ich eher darauf tippen, dass die Farberkennung sehr vom aktuellen Weißabgleich der Kamera, der Beleuchtung und auch des verwendeten Hintergrunds abhängt.

Vor ein paar Jahren hatte ich ja ein "faster_rcnn_v2" Modell trainiert. Es ging um das Unterscheiden von 12 Fischertechnik Bausteinen und das wegsortieren derselben. Ich habe gerade mal 30 Bilder gemacht auf denen die verschiedenen Teile jeweils mehrfach drauf waren. Damals habe ich die dann noch irgendwie mit der Hand markiert und klassifiziert.
Am Ende wurden 8 trennscharf erkannt und mit Koordinaten versehen, aber nur wenn ich etwa die Farbe des auf den Fotos verwendeten Hintergrunds verwendet habe (bei mir hat damals das Unterlegen unterschiedlichen farbigen Tonpapiers geholfen - je nach Licht). Dabei ging es bei mir nicht um Farberkennung und die Teile waren an sich "kinderleicht" zu unterscheiden, rad23, ritzel 10 etc. Nur zur Klarstellung, es ging bei mir nie darum, ein Rad23 von einem Pfefferminzbonbon oder das Ritzel10 von einer Stubenfliege zu unterschieden. Das wäre mit großer Wahrscheinlichkeit schiefgegangen. Wenn es Dir aber nicht darum geht, falsch positive Erkennungen auszuschließen, sondern nur Deine trainierten Klassen zu unterscheiden, dann sollten relativ wenige Bilder genügen. Farberkennung kann allerdings generell tückisch sein...

Jetzt dachte ich mir, dass muss ja inzwischen spielend gehen und habe auch mit Teachable Machine angefangen. Da kommt man wirklich flott zu einem Modell. Das sagt aber leider nur, ob im Bild der Gegenstand drauf ist, den man erkennen will, oder nicht. Wenn man "bounding boxes" will, also die Koordinaten des erkannten Objekts, dann geht Teachable Machine nicht. Das war für mich eine Enttäuschung. Für Anwendungen, bei denen klar ist, wo das Teil liegt, reicht das freilich vollkommen aus.

Für Modelle, die auf kleinen Geräten für die Erkennung (freilich nicht fürs Trainieren) laufen sollen, wird Yolo5n (nano) oder Vergleichbares Empfohlen.
Ich habe keine Ahnung, ob man auf dem TXT4.0 Yolo5n zum Laufen bringt - hierzu muss man immerhin ein GIT repository clonen:

git clone https://github.com/ultralytics/yolov5
cd yolov5
pip3 install -r requirements.txt

Da ich inspiriert vom FTpedia Artikel https://ftcommunity.de/ftpedia/2025/202 ... 2025-1.pdf den alten Raspberry 3b+ ausgegraben habe, um damit mit den neuen Servos rumzuspielen, habe ich es zunächst mit dem versucht. Ich würde auf jeden Fall raten, immer erst ein bestehendes Modell auszuprobieren. Erst wenn man das zum Laufen gebracht hat, weiß man, dass sich die Mühe lohnen kann, ein eigenes Modell zu trainieren.
Ich weiß jetzt also, dass Yolo5n auf meinem alten Raspberry einigermaßen flüssig läuft, Lag ca. 3 Sekunden vom Bild bis zur Erkennung.

Das wäre also sicher auch was für den TXT4.0, wenn man den die Lage des Objekts braucht. Wäre also interessant zu wissen, ob man das (s.o.) installiert bekommt.
Oder man verwendet die gleiche Version eines Modells, das läuft - so wie Du das gemacht hast.

Ich wollte mir einen schlanken Fuß machen, und mein altes KI Modell weiterverwenden. Das braucht aber inzwischen so viel Abwärtskompatibilität (Tensorflow v1...) dass ich die Idee schnell aufgegeben habe.

Schönen Abend
Frank

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 07 Mai 2025, 21:55

Hallo...
OK, du bist da schon eine ganze Ecke weiter wie ich.
Ich gebe zu, ich zweifle da gerade an mir, bzw. ich bin mir nicht sicher ob dem nun so ist.
Bei der großen KI Anlage, wird ein Objekt von OpenCV "erkannt" und ausgeschnitten.
Ich meine die Position wird dazu verwendet, das Bauteil entsprechend vor die Ausschieber zu plazieren, bzw. es wir korrigiert.
Ist aber schon etwas her.
Zumindest OpenCV ist auf dem TXT 4.0 drauf und man könnte es dazu verwenden.
Ich glaube das ich vor 10 Jahren das letzte mal OpenCV selber benutzt habe um Schilder zu erkennen - auch mit einem RP.

Ich denke mit dem Erstellen der Bilder, könnte man auch eine Drehscheibe 60 mehmen und mit weißem Papier bekleben.
So könnte man das Bauteil darauf drehen lassen und dann immer ein Foto machen.

Bei der großen KI Anlage hab ich teilweise alle LEDs ausgeschaltet. Die Erkennung war "damit" zum Teil sogar besser.

Mein größtes Problem ist gerade, dass ich für die ganzen Experimente die momentan mache, eine ganze Horde von TXT 4.0 bräuchte.
Aber OK ich werde mich mal weiter einlesen. Ich versuche mal in die GUI etwas reinzuschauen, wie das da genau abgeht.
Mal schaun...
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Techum
Beiträge: 138
Registriert: 25 Dez 2014, 20:50
Kontaktdaten:

Re: AddOn AI KI

Beitrag von Techum » 10 Mai 2025, 13:53

fishfriend hat geschrieben:
07 Mai 2025, 21:55
OK, du bist da schon eine ganze Ecke weiter wie ich.
Auf keinen Fall, Holger.
Ich habe es bisher wegen der ganzen Abhängigkeiten der AI Komponentenversionen vermieden, überhaupt KI direkt auf dem TXT4.0 zu versuchen.
Bitte auf jeden Fall die Ergebnisse Deiner Bemühungen posten!

Was etwas nervt, selbst bei winzigen KI Modellen dauert es einfach eine Zeit, bis sie geladen sind und man überprüfen kann, ob das Maschinchen jetzt das macht, was man will - oder eben noch nicht.

Um das Yolo5n Modell auf auf meinem betagten Raspberry 3b+ zu initialisien (es ist lokal gespeichert), und die beiden Videothreads zu starten -
1) Kamerabild ohne Erkennung
2) Kamerabild mit Erkennung
braucht es ca. 1:20 Minuten. Das wird einem schon lang.

Die Erkennung läuft aber zuverlässig:
yolo5n debug view
yolo5n debug view
yolo5n_raspberry3b+.JPG (24.71 KiB) 2672 mal betrachtet

Das Ergebnis der Erkennung ist etwas gefaked. Das Standardmodell, das ich verwende, erkennt wahlweise eine Frisbee, eine Uhr oder einen Apfel :D - ist aber für die Aufgabe total egal.
Ich weiß ja, dass ich dem kleinen Roboter keine Äpfel, Uhren oder Frisbees anbieten werde, das würde ihn glatt umbringen...
Ergänzung: jetzt schaut er nicht nur, er greift er auch zu:
https://www.youtube.com/shorts/S7mzDK_bs1w

Fischertechnik verwendet, wenn ich es richtig sehe, ein TFlight model. Das bekommst Du m.E. wunderbar aus TeachableMachine. Je nachdem wie viele unterschiedliche Objekte Du erkennen willst und je ähnlicher sich diese sind, um so mehr Bilder wirst Du taggen müssen. Ich würde mich aber etwa an dem orientieren, was FT selbst anbietet: das KI Modell für Qualitätskontrolle kennt 11.
"BLANK, BOHOELMIPO2, BOHOEL, BOHOMIPO1, BOHOMIPO2, BOHOSHMIPO2, BOHOSH, BOHO, CRACK, MIPO1, MIPO2"
Die sehen sich mitunter "sehr ähnlich". Dafür unterstützt das Modell aber nur eine einzige Lage - bedenke, dass ein Ritzel10 sehr unterschiedlich aussieht, je nachdem, ob es auf der Seite liegt, auf dem Zahnkranz steht oder auf dem Schaft.

Um 10 Objekte in verschiedener Lage kurz zu filmen, tracken und das TFlight Modell zu machen, würde ich nichts bauen. Einfach ft-cam an einen Rechner mit ordentlicher Grafikkarte anschließen, die Teile auf den Hintergrund werfen, den Du verwenden willst Kamera um das Objekt drehen (veränderte Lage simulieren) und gut.

Frage ist viel eher, ob das aktuelle TFlight, was Du dann exportierst, auf dem TXT4.0 läuft.
Auf dem TXT4.0 selbst zu trainieren halte ich für wenig zielführend, wenngleich vielleicht pädagogisch wertvoll.

Schönes Wochenende
Frank

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 10 Mai 2025, 20:03

Hallo...
Ja, das läuft auf dem TXT 4.0 . Ich hatte mich an die "Kurzanleitung" von ft und an die Anleitung von Axel Chobe gehalten.
Ich hatte die 30er und 15er Bauteile von allen Seiten, also auch stehend fotografiert.
Ich habe auch das Modell von ft genommen - aber mit einem etwas größerem Abstand. Das ist ein Unterschied vom Kastenmodell und dem Schrankenmodell. Es ist also mehr weißer Rand zu sehen.

Die KI auf dem PC zu erzeugen, ging sehr schnell, fand ich.
Ich habe auch noch mal eine etwas gründlichere Analyse der Ausgabe vor.
Ich selber habe auch den Vorteil, dass ich viele ft-Bauteile habe. Wenn ich mehr Taster nehme, kann ich mehrere Bauteile aufnehmen. Wenn man das dann noch automatisch machen könnte, würde das helfen.
Im Grunde ist das so ein ftCommunity Projekt. Man braucht ja nur ein mal die Bilder aufnehmen und könnte sie dann online stellen. Dann sparrt man sich die Arbeit um -alle- ft Bauteile aufzunehmen. Es braucht ja nicht jeder wieder bei 0 anfangen.
Wobei auch die Frage ist wer sich dann so eine Maschine nachbaut...
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Techum
Beiträge: 138
Registriert: 25 Dez 2014, 20:50
Kontaktdaten:

Re: AddOn AI KI

Beitrag von Techum » 10 Mai 2025, 20:57

fishfriend hat geschrieben:
10 Mai 2025, 20:03
Ja, das läuft auf dem TXT 4.0 . Ich hatte mich an die "Kurzanleitung" von ft und an die Anleitung von Axel Chobe gehalten.
Ich hatte die 30er und 15er Bauteile von allen Seiten, also auch stehend fotografiert.
...
Im Grunde ist das so ein ftCommunity Projekt. Man braucht ja nur ein mal die Bilder aufnehmen und könnte sie dann online stellen. Dann sparrt man sich die Arbeit um -alle- ft Bauteile aufzunehmen. Es braucht ja nicht jeder wieder bei 0 anfangen.
Das ist doch schon mal klasse! Letztlich gehts ja ums Bauen...
Leider werden die Modelle schnell sehr groß, sonst könnte man auch - ähnlich der FT Beispiele - trainierte Modelle teilen.

Zu Modellen mit Koordinaten:
Wenn man so ein Mini yolo5n auf einem Windows Laptop mit der Option

Code: Alles auswählen

cap = cv2.VideoCapture(1,cv2.CAP_DSHOW)
laufen lässt, startet es nach 10s und hat keine erkennbare Verzögerung.
Lässt man die Direct Show option weg, braucht es ordentlich bis der USB Camera Thread startet und es gibt auch eine kurze - gefühlt 0.2s Verzögerung.

Wenn man nicht nur wissen will, ob der gesuchte Gegenstand im Bild ist, sondern ggf. wie oft und mit welchen Koordinaten bin ich daher gedanklich noch nicht weg von der Idee, die Erkennung vom PC machen zu lassen und das Ergebnis (die Koordinaten) über MQTT zu übertragen.
Dann könnte man noch im Greifvorgang Korrekturen vornehmen. Wenn das Objekt sehr nah ist, machen sich logischerweise schon kleine Verzögerungen stark bemerkbar. Bei einem Lag von 3 Sekunden, braucht man damit gar nicht anzufangen.

Meinen aktuellen Versuch, Teile mit dem Servo-Roboter zu greifen, habe ich oben ergänzt.
Der fährt jetzt noch in eine definierte Parkposition, merkt sich dann, wo die Teile liegen und greift hin. Also ein ähnlicher Ansatz wie ca. 2017 aber eben alles auf einem ziemlich alten Raspberry. Daran merkt man, was sich bei den KI Modellen inzwischen getan hat.

Schönen Abend!

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 11 Mai 2025, 12:32

Hallo...
Ich habe mich etwas eingelesen.
Positionsbestimmung von Objekten mit OpenCV ist möglich, aber man muss es "selber" programmieren.
Es gibt im Magazin vom RP einen Bericht über die zweirädrigen Roboter, die durch das Labyrith fahren sollen und die Schilder erkennen. Da ist das genau beschrieben. Auch die Vergleichsbilder sind darin.
Es gibt Erweiterungen zu OpenCV die das machen können und teilweise schon antraniert sind. Es ist die Frage ob es ausreicht, die nur in ein Unterverzeichniss zu kopieren. Kann ja auch sein, dass die schon auf dem TXT 4.0 drauf sind. Ich habe aber keinen Eintrag z.B. in den Lizenzen gefunden.

Ich habe keine Ahnung wie man yolo auf dem TXT 4.0 installiert. (Auch wegen der Linuxrechte)

Es ist "möglich" mit Tensorflow die Position zu bestimmen. Ich habe es aber noch nie selbst gemacht.
So als Beispiel u.a.: https://stackoverflow.com/questions/525 ... tensorflow
Dann muss man "nur" noch das für den TXT 4.0 umsetzen...

Für manche Sachen, z.B. Konvertierungen, sind in den fischertechnik Programmen zusätzliche Zeiten z.B. 0,2s eingefügt.

Zu den Modellen aus ft. Man kann auch nur einzelne Bauteile oder 2..3 raussortieren und nur die "erkennen". Bei 2 könnte man auch das Modell aus dem AddOn nehmen oder bei Faild das Band rückwärts laufen lassen...
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 11 Mai 2025, 12:53

PS
Ist doch schon länger her, das ich das gemacht habe.
Also, die MagPi ist die "MagPi issue 28" von 2014. Viel davon könnte man übernehmen, aber auch aus den fischertechnik Programmen kopieren, wie z.B. "Bild holen" usw. Also nicht genau den Code in der Zeitschrift nehmen, sondern nur das jew. Thema des Abschnittes.
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 11 Mai 2025, 15:58

Hallo...
Es gibt ein Buch (zweite Ausgabe):
Artificial Intelligence for Robotics
Build intelligent robots using ROS 2, Python, OpenCV, and
AI/ML techniques for real-world tasks
Francis X. Govers III
Hier wird ein Roboter auf 4 Rädern mit Greifarm beschrieben, der ein Spielzimmer aufräumen soll. Er unterschiedet u.a zwischen Spielzeug und Nichtspielzeug.
Im Grunde macht er genau das was wir haben möchten. Der Autor benutz dazu u.a. YOLOv8 .
Die Erklärungen sind brauchbar, aber leider halt eine andere Plattform.
Das Umzusetzen für den TXT 4.0 ist für mich schwer.
Ich hab es momentan nur überflogen, aber so wie ich das sehe wird auch ein intelligenter PC eingesetzt und nur die Daten übertragen. Soetwas wie halt die Lösung mit der Übertragung der Daten von PC zu TXT 4.0 über MQTT.
Ich werde mich mal weiter einlesen...
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Techum
Beiträge: 138
Registriert: 25 Dez 2014, 20:50
Kontaktdaten:

Re: AddOn AI KI

Beitrag von Techum » 13 Mai 2025, 22:56

fishfriend hat geschrieben:
11 Mai 2025, 15:58
Artificial Intelligence for Robotics
Build intelligent robots using ROS 2, Python, OpenCV, and
AI/ML techniques for real-world tasks
...
Der Autor benutz dazu u.a. YOLOv8
Ich übertrage die Erkennungsdaten jetzt per Paho MQTT. Habe ich schon früher zwischen TXT/TXT 4.0 und PC eingesetzt.
Freilich würde man auf dem PC auch YOLOv8 oder YOLOv11 laufen lassen können. Je nachdem, wie komplex das Modell werden soll und wie viel Rechenpower man hat. Mir gefällt zunächst mal, dass die Verzögerung weg ist. Ich werde damit ein paar Greifversuche mit Korrektur während der Bewegung ausprobieren.

Hast Du - bzw. hat jemand - schon Mal mit ROS 2 und fischertechnik gearbeitet?
Das nutzt LeRobot auch. Ich habe nur kurz in GitHub in die Library geschaut und mir das modulare Konzept angesehen.
Ist halt eine mächtige Plattform, die vieles mitbringt, was man sonst selbst zusammenstückeln muss. Kartographierung zum Beispiel, Kinematik- und Vektormodelle zur Berechnung der Bewegung verketteter Gelenke, eine Simulationsumgebung uvm.

Vermutlich bekommt man hier eine unglaublich leistungsfähige Plattform, wenn man einmalig in die Anbindung der fischertechnik Hardware investiert.
Ggf. mit einem einzigen Aktor z.B. Servo testen...
Auf der anderen Seite - wo würde ROS 2 laufen sollen? M.E. würde das auf den Controller gehören...

Schönen Abend
Frank

Benutzeravatar
fishfriend
Beiträge: 2175
Registriert: 26 Nov 2010, 11:45

Re: AddOn AI KI

Beitrag von fishfriend » 13 Mai 2025, 23:58

Hallo...
Vor langer Zeit hab ich mir mal ROS angeschaut, aber nicht weiter ausprobiert.
Auf der Seite von ROS 2 steht, das es EOL ist und nicht weiterentwickelt wird. Ich bin auch nur noch mal wegen dem Buch darauf aufmerksam geworden.
Ich habe das Buch nun mal komplett "überflogen". Insgesammt sehr mächtig, was der Author da macht. Auch die Kartographierung (im Buch) fand ich interessant.
Wobei ich da mehr Wert auf eine Bewertung von Bereichen legen würde. Ich bin mir auch nicht sicher, wie genau der z.B. die Treppe ausgeschlossen hat.

BTW ist das Video auf YT vom Greifer von dir? Da würde mich mal interessieren, wie das angelernt worden ist.

Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

tintenfisch
Beiträge: 505
Registriert: 03 Jan 2018, 22:04

Re: AddOn AI KI

Beitrag von tintenfisch » 14 Mai 2025, 07:46

fishfriend hat geschrieben:
13 Mai 2025, 23:58
[…]
Auf der Seite von ROS 2 steht, das es EOL ist und nicht weiterentwickelt wird.
[…]
Ich denke, das ist ein Missverständnis oder ein Tippfehler. Die Version "Noetic Ninjemys" (ROS version 1) ist EOL, "Humble Hawksbill" (ROS 2) ist 2022 veröffentlicht worden und erhält Unterstützung bis zum Jahre 2027. Eine weitere Version hat das Projekt in der Pipeline, so dass die Zukunft von ROS 2 gesichert scheint.

Edit: Namen "Jazzy Jalisco" auf "Humble Hawksbill" für ROS2 im obigen Text korrigiert

Antworten