Autonomes Fahren

  • Hallo zusammen

    Ich bin neu in der programmier Welt

    Ich möchte ein Roboter, der selbstständig in einem Gebäude ohne WLAN herum fährt.

    Er sollte Hindernisse per Kamera erkennen und dan wenden.

    Meine Idee war, die Steuerung von MRS-Elektronic zu nehmen. Würde ich diese verwenden, bräuchte ich eine Objekterkennung (Bildsensor) der mir dan ein Signal aus gibt und ich dieses in meiner CAN Steuerung verarbeite.

    Oder ich mache die ganze Steuerung mit Raspberry Pi.

    Wer kann mir helfen, die richtigen Teile zu finden und dan auch beim programmieren?

    Ich Danke euch für eure Unterstützung

    Yves

  • Hoi


    Er fährt im Hühnerstall herum (ohne System)

    Im Stall hat es Wände, Stützen und Kunstoffbecken. Diese sollte er erkennen und dan Wenden oder ein Signal für meine Steuerung geben.

    Bei dem erkennen von den Hühner sollte nichts geschehen, also weiter fahren.


    Nun bin ich auf der Suche nach eiber sollchen Bilderkennung und dessen Programmierung.

  • Interessant :) was es nicht allles gibt !

    ich habe zwar keine Erfarung mit Hühnern, aber mal etwas Ähnliches probiert.

    Ich benutze als "mobile Einheit" einen Monsterborg mit Rpi3 und Kamera.

    Softwaremässig AIY Maker https://aiyprojects.withgoogle.com/ (was allerdings eine Edge TPU

    benutzt ?!). Es funktioniert so, dass Du zunächst

    1. eine Anzahl Bilder aufnimmst . von den Wänden, Stützen, Kunststoffbecken- sie klassifiziertst (collect_images.py)
    2. das Modell trainierst (train_images.py)
    3. und dann das Modell im Robot verwendest (classify_video.py)

    Klingt kompliziert, ist es aber nicht und hat in meinem Fall erstaunlich gut

    funktioniert. Vielleicht schaust Du mal auf den Link, ggfs. kann ich dir weiterhelfen.

    Eine andere Möglichkeit ist, die Hindernisse mit Aruco Makern zu versehen (habe

    ich auch mal mit experimentiert)

    ************

  • Mit dem Pi 5 kann ich dies auch?


    Also bei AIY kann ich ein Konto machen und dann auf Pi5 laden oder brauche ich noch was dazwischen (oder was ist die Edge TPU)?

    Kann ich dem Pi5 sagen, wenn du z.Bsp. Eine Wand siehst, musst du ein 10V Signal raus geben?

  • Yves,

    zunächst nochmal Grundsätzliches:

    ich sehe 2 Möglichkeiten

    1. der Roboter kann die Hindernisse unterscheiden oder
    2. Du markierst die Hindernisse -farblich oder mit einem Muster.

    zu 1) der Robo muss lernen, die Hindernisse zu erkennen, das führt zu ML

    da Du keine Standardobjekte (z.B. Gesicht, Mensch o.ä.) hast, für die es Modelle/Programme gibt,

    brauchst Du ein Programm, das erlaubt, ein Modell für Deine Objekte (Wand, Futtertrog, ...) zu erstellen.

    Mit dem obenerwähnten AI Maker kannst Du dies auf einem Rpi; es benötigt eine hohe Rechenleistung und

    die Edge TPU ist ein Zusatzmodul, das die Rechengeschwindigkeit bei diesen Prozessen erhöht. Der AI Maker

    setzt die Verwendung einer TPU voraus. Es it frei verfügbar (0hne Anmeldung).

    Ich habe diese Programm auf einem Rpi 3 benutzt und habe keine Erfahrung mit dem Pi5, bin auch nicht

    sicher ob es den TPU von Google noch gibt. Ich glaube es gibt für den RPi 5 bessere andere Möglichkeiten

    zum ML. Vielleicht kann Dir jemand hier im Forum damit helfen ??!!

    Wenn es Dir gelingt, dass der Robo Deine Hindernisse erkennt, ist die Steuerung (vorwärts, rückwärts, wenden)

    die leichtere Aufgabe ....

    zu 2.) wenn Du die Hindernisse unterschiedlich markieren kannst, ist es vielleicht die leichtere Lösung:

    in diesem Fall kannst Du eine Mustererkennung/Bildanalyse z.B. mit OpenCV verwenden.


    Ich füge noch den Code bei, den ich verwende:

    image_collector.py Robo fährt und sammelt und klassifiziert Fotos



    train_images.py erstellt ein Modell aus den gesammelten Fotos

    classify_video.py testet das Modell an aktuellen Fotos


    classify_move.py steuert den Robo mit dem erstellten Modell

    ..nur als ein erster Eindruck, wie gesagt läuft auf einem Rpi3 unter Buster

    ************

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!