PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Roboter soll selbständig Ladestation finden



hingele
22.08.2023, 16:05
Hallo Gleichgesinnte,

mein aktuelles Projekt heisst nummer4 , fährt auf einem Kettenfahrwerk und hat als Herzstück ein Raspberry Pi CM4 Modul. Ausserdem gibt es 8 Sharp IR Sensoren , 2 auf jeder Seite, die Hindernisse erkennen können.

Im ersten Schritt in Richtung Autonomie,
möchte Ich nun erreichen das nummer4 selbständig seine Ladestation findet und sich entsprechend positioniert um zu Laden/Parken. Wenn er sich im näherem Umfeld der Basis befindet. (Umkreis 2-3m oder im selben Raum)

Meine erste Idee waren zwei IR Signale auf der Basisstation, die nummer4 anpeilt. Um damit einen Laserstrahl zu finden und zu verfolgen, und die richtige Position zu erreichen.

Was wäre hier der elegante Lösungsweg?
Gibt es da Erfahrungen?
oder kann mir jemand den wink mit dem Zaun..... geben.

Danke im vorraus

inka
23.08.2023, 17:13
hallo,

ein paar infos findest du vielleicht hier:

https://rn-wissen.de/wiki/index.php?title=IR-bake_f%C3%BCr_den_RP6

https://rn-wissen.de/wiki/index.php/Induktive_Ladestation_f%c3%bcr_den_RP6

https://rn-wissen.de/wiki/index.php/RP6

viel spass!

hingele
27.08.2023, 10:38
Hallo Gleichgesinnte,

erstmal vielen Dank für die links. Die haben die Birne erstmal zum rauchen gebracht��! Der RP6 ist ein spannendes Projekt mit einigen guten Ideen, und parallelen zu nummer4. Notiert habe ich mir z.B die Motorenüberwachung per Encoder und Strommessung.��

Nach Hause findet nummer4 aber immer noch nicht ! Da der RP6 offensichtlich der einzige ist der das bisher geschafft hat, habe ich mich mit der RP6 IR Funkfeueridee weiter beschäftigt. Da es einen Raspi in der Basis geben soll eventl. mit Arduino als Knecht, könnte ich mit 5 verschiedene LIRC KEYs eine Art Funkfeuer realisieren. Bin dran, Birne raucht.
Danke noch mal für die Links ��

jmoors
28.08.2023, 07:19
Wie wäre es mit Bilderkennung? Das heißt der Robi muss auf ein bestimmtes Bild (=Ladestation) zusteuern?

VG, Jürgen

inka
29.08.2023, 14:36
würde ja bedeuten, der roboter müsste - weil er ja aus irgendeiner richtung auf die ladestation zufährt - anhand mehrere bilder entscheiden ob es eine/die ladestation ist? schon sehr aufwändig, oder?

jmoors
29.08.2023, 17:15
Nein, das sehe ich anders. Das ist "ganz normale" Bilderkennung. Die Ladestation steht sicherlich irgendwo an der Wand, so das vielleicht 10 Bilder ausreichen, um eine akzeptable Trefferquote zu erreichen. Das geht mit einem Raspi locker.
Hier https://www.amazon.de/Digitale-Bildverarbeitung-algorithmische-Einf%C3%BChrung-X-media-press/dp/3642046037 ist ein klasse Buch zum Thema "Bildverarbeitung". Keine Ahnung, warum das jetzt so teuer ist. Ich hatte 2018 39,95€ bezahlt.

hingele
03.09.2023, 16:24
d.h. dreh dich so lange im kreis bis du die Banane auf der Basis erkennst und fahr dann los. Wenn die Banane aus dem Bild fährt halte an und suche erneut. STOP!

Die Bilderkennung mit openCV konnte ich realisieren, nummer 4 erkennt die Banane. Der Raspi läuft bei 10 Bildern mit 50% Prozessorlast, nur mit der Objekt-Erkennug.
Das starter-objekte-Pakete umfasst 80 Objekte, vielleicht ist das ja das Problem?.
Das auswerten der Objekt Koordinaten im Bild und der Objekt-Grösse sollte ja wohl auch möglich sein. Was theoretisch bedeuten würde, das Objekt kann fixiert werden.
Wie genau eine Distanzmessung über die Objekt-Grösse möglich ist ?
Mit der Kamera habe ich einen Grösseren Erfassungswinkel und kann somit schneller suchen. Was haltet Ihr von einer Kombination ?
Kamera erfasst Basis Banane.(eventl. ganz oben mit dem besten Sichtwinkel) . Robi fährt in diese Richtung bis das IR Empfänger Rohr auf einen IR Strahl am Boden trifft.
Und kann somit den Strahl in der mitte finden und im richtigen Winkel zur Ladeposition stehen.

gruss hingele

jmoors
03.09.2023, 16:38
Man kann die Bilderkennung erheblich vereinfachen, in dem man z.B. über der Ladestation eine einfache, aber eindeutige geometrische Form anbringt, z.B. ein dickes, schwarzes Plus-Zeichen auf weißem Hintergrund. Das lässt sich einfach verarbeiten und so das Ziel anpeilen.

Frage: Was machst Du, wenn die Ladestation nicht sichtbar ist, z.B. in einem anderen Zimmer?


VG, Jürgen

hingele
03.09.2023, 19:08
Ja, das habe ich mir schon gedacht, vielleicht 5 Objekte die er kennen muss, und eine leicht zu erkennende Form mit eindeutigem Hintergrund. Dann klappts auch mit der Prozessorlast.
Wie sieht das bei Dunkelheit aus?
Bin ich da mit opencv auf dem richtigen Weg?

Wie das Ausserhalb Sichtweite zur Basis gehen soll, ohne freie Sicht in alle Himmelsrichtungen ist mir noch nicht ganz Klar. Natürlich könnte ich festlegen, dein Startpunkt ist immer in Sichtweite der Basis ,du zeichnest eine Karte von der Wohnung/Umfeld und zählst Schritte und weisst so wo du bist. das heisst ,Autonomie nur in Verbindung mit Basis. ??!(schon mal nicht übel)

Ich könnte auch an markanten punkten aktive oder passive Baken platzieren, um mit Infrarot oder US die Position zu bestimmen. Mit Kamera und Objekterkennung würde das wohl auch funktionieren. Das wäre wohl in Python dann eine Objektorientierte Autonomie.( möglich,aber ...)

Es gibt wohl noch eine Lösung mit Wlan Hotspot , die Richtung zur Basis zu ermitteln, in Verbindung mit einem Kompass könnte das auch eine Variante sein nach Hause zu Finden. hmm

Wie bereits erwähnt ,da habe ich mich noch nicht entschieden.

Von der Vorstellung das nummer10 ,morgens zwischen 8 und 11 am Gartenzaun patroulliert, dem Postmann vermittelt das ein Pit Bull hinter der Hecke sitzt. Und mir dann noch die Zeitung ans Bett bringt. habe ich mich dann aber doch schon verabschiedet.

gruss

Holomino
04.09.2023, 12:13
Funzt das mit der Bilderkennung während der Fahrt mittlerweile besser? Ich hatte damals, als ich noch Notebooks fahren ließ, aus der Bewegung heraus (insbesondere während der Drehungen) nur noch verzerrte Bilder und die Objekterkennung fand nichts mehr. Dabei hatte ich nicht einmal die schlechteste Webcam.

Meine jetzige Lösung:
Ich habe an meiner Ladestation eine IR-LED (TSAL4400), die mit 1kHz auf 38kHz modulierte Pulse sendet. Die Intensität ist fest per Vorwiderstand so eingestellt, dass der Roboter diesen sich aufweitenden "Leitstrahl" auf etwa 1,5m detektieren kann (bei höherer Intensität gibt es schon mal je nach Gestaltung des Raumes Ärger mit Reflexionen).

Das Gegenstück, also der Empfänger (TSOP4838 ) sitzt auf dem Roboter auf einer Drehmimik, d.h.: egal aus welcher Richtung der Robbi in den Leitstrahl fährt - man bekommt ein Richtungssignal zur Ladestation. Nach dem ersten Empfang tastet sich das Gefährt nur noch vorsichtig in die entsprechende Richtung, bis Saft an den Ladekontakten anliegt.

Zwei praktisch zu lösende Probleme dabei:
Der Leitstrahl ist kein Laserbeam, man steuert die Ladestation also in der Regel nicht genau im 90°-Winkel an. Das habe ich mechanisch dadurch gelöst, dass die Kontakte an der Ladestation zusätzlich um ca. +/-30° schwenkbar gelagert sind.

Die "Signalübertragung" ist digitaler Art. Der TSOP kennt nur On/Off, hat aber genauso, wie die Sendediode einen Öffnungswinkel. D.h. beim Drehen des Sensors beginnt das Signal schon, bevor der Sensor auf die Diode zeigt. Also messe ich den Drehwinkel des Sensors, bei dem das Signal sichtbar wird und den Winkel, bei dem das Signal wieder abreißt. Die eigentliche Richtung zum Sender ermittele ich als "Mitte" zwischen diesen beiden Winkeln.

hingele
06.09.2023, 19:38
Hi Holomino,

meine Erfahrung mit Webcam und Bilderkennung war ähnlich wie bei Dir, Objekterkennung nur im stehen. Habe noch ein paar im Keller liegen, aber Hoffnung mache ich mir nicht, liegt vmtl. an der Auflösung. Mit einer Raspicam ist das wahrscheinlich möglich.

Deine IR nach Hause Lösung finde ich spannend, und relativ einfach. Du drehst die Ladeschale .Wie machst Du die Energieübertragung ? wireless oder ?.

gruss

Holomino
08.09.2023, 07:54
35950

Ich hoffe, das Foto erklärt es.

Gelber Pfeil: (An der Ladestation) Der Halter mit den gefederten Ladekontakten hat eine zusätzliche Achse zum seitlichen Schwenken. Der Roboter steht ja offensichtlich auch nicht senkrecht vor der Ladestation. Was Du aufgrund der Perspektive nicht auf dem Foto sehen kannst, sind die beiden Kontakte am Roboter (ein Stück Platine mit zwei verzinnten Polfeldern).

Blaue Pfeile: Sendediode an der Ladestation und TSOP-Empfänger auf dem Sensor-Drehteller (zusammen mit dem Lidar).

Bezüglich Kamera: Wahrscheinlich würde ein Gimbal mit IMU als Stabilisierung einiges ermöglichen. Zumindest in Drohnen funzt das Filmen beim Fliegen mittlerweile prächtig.

inka
10.09.2023, 18:40
super foto! sieht aus als wäre er ein paar km inkognito in der Ukraine unterwegs gewesen :-)...
wie kriegt man die färbung so hin?

Holomino
18.09.2023, 14:15
Man lässt ihn ein paar Jährchen im Standby an der Ladestation, bei mir im Bastelkeller - Holzstaub - Flexspäne - Farbsprühnebel. Aber er ist auch so ca. 30km (durch den ganzen Dreck) gefahren.