Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: LiDAR

LiDAR 3 Jahre 9 Monate her #8039

  • nero76
  • nero76s Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Hallo Werner,

wo keine Gegenstände sind, braucht m.E. die Position auch nicht genau sein - problematisch sind wie Du schreibst die Randstellen (dort wo er nicht mähen soll) oder Engstellen. Dort sollte es sehr genau werden. Möglichst so genau wie mit einer Schleife. Und natürlich sollte er wissen wo er ist.

Vielleicht wäre das "LIDAR Lite v2" ( www.exp-tech.de/lidar-lite-v2 ) eine Möglichkeit die Umgebung zu scannen? Die Reichweite wäre wohl gegeben.


Bei Bäumen, Büschen usw. sehe ich immer das Problem von nicht vorhandenen Kanten beim Messen mit einem LIDAR...

Gruss,
Alexander

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

LiDAR 3 Jahre 9 Monate her #8040

  • Werner
  • Werners Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Ja, mit dem Lidar könnte man so einiges Anfangen das meine Kenntnisse sicher übersteigt ;)

Meine Vorstellung wäre ja so einen Sensor auf ein Servo zu setzen und alle 22.5° eine Messung zu machen. Für eine feinere Winkelauflösung benötigt man auch eine feinere Karte, wieder mehr Speicher etc.

Gute Frage ob Blätter an Büschen erkannt werden, oder einzelne Baumstämme. Wenn der Zaun und die Hausmauern erkannt werden, sollte doch alleine das schon genügen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

LiDAR 3 Jahre 9 Monate her #8041

  • nero76
  • nero76s Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Nun, die Karte muss nur fein genug sein um alle Engstellen abbilden zu können. Und das Prinzip für die Auswertung hast Du bereits ähnlich programmiert : Particle Filter - Du ermittelst ständig rundherum die Entfernungen (z.B. 360 Grad / 6 Grad => 60 Messungen). Für diese 60 Messungen berechnest Du nun die Wahrscheinlichkeit für deine zufällig auf der Karte verteilten Partikel. Die Partikel welche eine hohe Wahrscheinlichkeit aufweisen überleben. Schlechte Partikel werden einfach mit Kopien von guten aufgefüllt.

Den Sensor sollte man mal draußen testen :)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

LiDAR 3 Jahre 9 Monate her #8042

  • Werner
  • Werners Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Die Auswertung hatte ich damals anders, da auch nur 5m Reichweite möglich waren:
Kartenauflösung 50x50cm
Hilfskarte angelegt und darin gemessene Hindernisse eingetragen.
Hilskarte nach Norden gedreht und mit Karte verglichen, Startpunkt war errechnte neue Position, danach alle Rasterpunkte um diese Position herum.
Beste Übereinstimmung ist neue Position.

Ein einfacher Partikelfilter wird nicht funktionieren. Denn die Partikel sollen ja die reale Position abbilden.
Wie soll man da 3m parallel zu einer Mauer fahren wenn die Partikel sich mit der Zeit um den Roboter konzentrieren?


Mit meiner Methode war in so einer Situation zumindest eine Koordinate fixiert.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

LiDAR 3 Jahre 9 Monate her #8043

  • nero76
  • nero76s Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Ok, Du hast dann also im Nahbereich eine neue Karte für die Messungen. Gute Idee! Damit erreichst Du auf jeden Fall die Genauigkeit des Sensors.

Bei mir würden die Partikel mit dem Roboter fahren (alle ungefähr in dieselbe Richtung, alle ungefähr gleich schnell wie der Roboter - plus Fehler für Distanz+Winkel). Nur durch das grobe Kartenraster würden sie korrigiert. D.h. nur wenn ein Partikel einen Fehler größer als das Raster aufweist würde er wegfallen. Im Worst-Case wäre mein Fehler die Auflösung der Karte, im Schnitt aber immer besser.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

LiDAR 3 Jahre 9 Monate her #8044

  • Werner
  • Werners Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Das was ich hatte war eher eine 1 Partikel Berechnung ;)
Denn im Prinzip muss man fast alle diese Schritte (alle Messungen mit Karte vergleichen) für jeden einzelnen Partikel machen, daraus erhält man die Wahrscheinlichkeit, und erst dann kann man aus den vorhandenen Partikel die Position berechnen.

Meine Berechnung war soweit vereinfacht das anstatt beliebiger Partikel nur in 1m Umkreis um die errechnte Position nach einer neuen besseren Position gesucht wurde. Sozusagen eine fixe 24 Partikel Berechnung. Wenn in diesem Bereich nichts passenden war, war weiter die Odometrie gültig.
Genauigkeit war also im schlechtesten Fall das Rastermaß, erst wenn die neue Position um diese 50cm abweichen würde, würde Odometrie auf diesen neuen Wert gesetzt

Wie vorher gesagt, ich glaube nicht das man mit einem Partikelfilter parallel zu einer Wand fahren kann, mit dieser Methode aber schon. Dafür ist sie schlecht geeignet eine komplett neue Position zu erkennen.

Im Prinzip ist das eine einfache Mustererkennung, habe das aus der Richtung maschinelles Sehen abgeleitet. Zu beachten ist das hier ein erkanntes Hinderniss im Vordergrund alles andere dahinter verdeckt.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

LiDAR 3 Jahre 9 Monate her #8045

  • Bastler71
  • Bastler71s Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 7
  • Dank erhalten: 0
Messungen die direkten sichtkontakt benötigen sind aufwändig... zur mustererkennung fällt mir ein-
Wie wäre es mit einer accellerometer-map? Z.b. die z-achse kein rasen ist wirklich glatt - das sollte doch auch ganz nette daten für die mustererkennung liefern.
Oder auch die daten des neigungssensors.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

LiDAR 3 Jahre 9 Monate her #8050

  • nero76
  • nero76s Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Hallo,

ich habe gerade draußen ein paar Messungen bei direkter Sonneneinstrahlung mit zwei Lidars gemacht (RoboPeak RPLidar und LidarLiteV2) - das LidarLiteV2 würde ich als brauchbar für Outdoor einschätzen. Reichweite von 25m waren für dieses Lidar kein Problem.





Gruss,
Alexander
Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

LiDAR 3 Jahre 9 Monate her #8051

  • Werner
  • Werners Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Wie hast denn das so schnell hinbekommen?

Ist das die normale Ardumower Karte oder eine genauere?

Sieht ja ganz gut aus, vielleicht kann man an ein paar Stellen im Garten noch Reflektoren anbringen, dann gibt es sicher immer eine Erkennung.

Bald kann man sich die Schleife sparen ;)


Ich sehe es schon kommen das der Winter für die geplanten Projekte viel zu kurz wird...

LG Werner

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

LiDAR 3 Jahre 9 Monate her #8052

  • nero76
  • nero76s Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Nun, ich habe das LidarLite schon gestern bekommen, dann direkt auf einen Servo geschnallt und ein kleines Programm geschrieben welches die Werte zum PC schickt. Am PC habe ich dann eine C++ SLAM-Library ( home.wlu.edu/~levys/software/breezyslam/ ) eingebaut welche mir die Karte erstellt und die Position auf der Karte ermittelt.



Die SLAM-Library ist bestimmt noch ausbaufähig (hatte ja meine Ideen schon geäußert - kommt dann später dran).

Auch die Hardware ist noch ausbaufähig (Nur noch eine Richtung drehen, Schleifkontakte, ...) - die max. Frequenz des Lidars ist auch nicht allzu hoch, aber vielleicht reicht es für einen langsamen Rasenmäher :)
Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

LiDAR 3 Jahre 9 Monate her #8054

  • Werner
  • Werners Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50

AlexanderG schrieb: die max. Frequenz des Lidars ist auch nicht allzu hoch, aber vielleicht reicht es für einen langsamen Rasenmäher :)


Aus diesen Überlegungen kam ich damals auf die Kartenauflösung von 50x50cm. Den der Roboter fährt max 50cm in der Sekunde, wenn man 1x in der Sekunde die Position feststellt, macht es wenig Sinn die Auflösung genauer zu machen.
Hindernisse sind damit auch 1 Feld groß. Und in 1 Sekunde sollte ein Scan zu schaffen sein.
(wollte auf der Atmega Plattform bleiben, das war eben auch ein Kompromiss den man eingehen muss. Vektorkarten wollte ich mir nicht antun)



SLAM ist ja ein weiter Begriff.
Der erste Punkt ist mit zB GPS abgehakt.
Komplett selbstständig eine Karte zu erstellen, das hast Du beim Ardumower schon eingebaut, ich gebe meinem eine Karte mit den großen Hindernissen vor.
Weiters kann meiner selbstständig weitere Hindernisse eintragen, das ist alles in 1 Byte für 1 Feld reingequetscht:
Derzeit: 2 Bit für fixe Hindernisse, 3 Bit für selbst erkannte Hindernisse, 3 Bit für Status gemäht. Die letzten 2 sind einfach Zähler damit ab einem gewissem Wert das Feld als gemäht, bzw als Hinderniss, erkannt wird.

Damit sollte die Karte mit der Zeit immer genauer werden, und könnte mit dem Lidar dann auch genauere Positionen liefern. Denn die Arbeit zB Schaukel, Rutsche, Bäume, Büsche, usw zu vermessen und in die Karte einzutragen, das soll der Roboter machen.

LG Werner

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

LiDAR 3 Jahre 9 Monate her #8058

  • nero76
  • nero76s Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Gibt natürlich auch genügend Situationen wo der Roboter das ohne Karte nicht erkennen kann (Abgrund, Pool, Pflastersteine, Nachbargelände etc.) - da sollte er schon sehr genau arbeiten an diesen Stellen.

Im Anhang noch der Code für das LidarLiteV2 (passende IDE mit allen Libraries findet man hier ) . Ich habe mal beim Hersteller des Low Cost RPLidar angefragt ob sie evl. Ihr Lidar mit einem besseren Laser (z.B. dem des LidarLiteV2, nähere Technik unter cdn.sparkfun.com/datasheets/Sensors/Prox...arlite2_overview.pdf ) ausstatten können. Ist zwar unwahrscheinlich dass sie das für z.B. 1000 Einheiten machen, aber wer weiß - Verkaufen lassen würde sich das bestimmt :)

Dieser Beitrag enthält einen Anhang.
Bitte anmelden (oder registrieren) um ihn zu sehen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software
Letzte Änderung: von nero76.

LiDAR 3 Jahre 9 Monate her #8072

  • Werner
  • Werners Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Dieser "Low-Cost" Lidar wäre mir in der aktuellen Ausführung schon zu teuer :(
Würde ich dann gleich in den Automower investieren, mein Vater hat jetzt einen, der ist wirklich nicht zu hören, traumhaft.

Ich würde den Lidar Lite auf einen Servo montieren und fertig. Gar nicht die Servobeschränkung aufheben, sondern einfach von links nach rechts, und gleich wieder links auf Anschlag. Dann braucht man keine anfälligen Schleifringe und hat auch gleich den Winkel als Sollvorgabe. Die Stellzeiten fürs zurückdrehen sind im 1/10s Bereich, in der Zeit kann zB die Auswertung stattfinden.

Wie kann man so einen Mechanismus wetterfest ausführen?
Tief hängende Äste sollten mechanisch verkraftet werden.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

LiDAR 3 Jahre 9 Monate her #8073

  • nero76
  • nero76s Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Wie funktioniert der Automower - doch wieder mit Schleife - das kann ja jeder heutzutage ;)

Im Anhang mal Test-Code der "HectorSLAM"-Library mit 360 Grad RPLIDAR in der Wohnung (einmal Raum verlassen und wieder zurück). Das mit dem Servo ginge - optimal wären aber 360 Grad für den SLAM...


Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

LiDAR 3 Jahre 9 Monate her #8075

  • Werner
  • Werners Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Sicher braucht der Automower eine Schleife, es gibt auch intelligentere Fahrmanöver, aber die nicht vorhandene Lautstärke und das andocken sind beeindruckend.


Ad Lidar: es gibt Segelwinden Servo die 360° und mehr drehen können. Leider eher langsam. Muss noch genauer suchen, vielleicht findet sich was passenderes.
Oder ein normales Servo und die 180° auf 360° untersetzen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

LiDAR 3 Jahre 9 Monate her #8078

  • nero76
  • nero76s Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Beim Servo hab ich das Gefühl dass diese nicht für den Dauereinsatz geeignet sind (meiner hier wird extrem warm). Die ständige Richtungsumkehr macht ihm wohl zu schaffen.

Hier ist es bereits gelöst und sieht schon fast brauchbar für SLAM aus (die hohe Geschwindigkeit braucht man damit alle Messungen zueinander konsistent sind):
fpaynter.com/2015/06/lidar-lite-visible-laser-testing/ (unten weiter auf der Seite ein Video)

Um die Geschwindigkeit noch weiter zu erhohen würde ich dann nur alle 3,6 Grad eine Messung machen (das Lidar schafft 200 Hz) und damit auf eine 2 Hz Rate kommen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software
Letzte Änderung: von nero76.

LiDAR 3 Jahre 9 Monate her #8079

  • nero76
  • nero76s Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Mit dieser Idee könnte man 2 Hz schaffen...

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

LiDAR 3 Jahre 9 Monate her #8080

  • Werner
  • Werners Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Oder gleich einen Getriebemotor mit Encoder nehmen, die Nullstellung muss zusätzlich erkannt werden.
Für die Regelung der Drehung und Datensammeln wird fast ein eigener Kontroller notwendig sein.

Bei den Messungen könnte man vielleicht probieren bei jedem Durchgang die Winkel leicht versetzen:
1 Umdrehung alle 5°
Dann 1° Zwischenschritt und wieder alle 5°
Wieder 1° Zwischenschritt usw.

Dann hat man nach 4 Umdrehungen alles in 1° Abschnitte erfasst.


Die hier gezeigten Konstruktionen sind für Rasenmäher aber alle ungeeignet.
Staub und Regendicht muss es sein.
Es muss robust sein, es muss an Büschen und Ästen anstoßen können ohne das etwas passiert.

Wenn ich daran denke wie mein Mäher letztens unter dem Wohnwagen durchgefahren ist, die Spiegellösung hätte er zuerst runtergerissen und dann geschreddert.

Eine Art Plexiglaskuppel könnte die Lösung sein. Bzw ein Ring aus Plexiglas, hinter dem dreht sich das LIDAR, und einen Deckel drauf.
So knapp beim Laser sollte es ohne Störungen gehen.

LG Werner
Folgende Benutzer bedankten sich: nero76

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

LiDAR 3 Jahre 9 Monate her #8081

  • nero76
  • nero76s Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Ja, die ganze Optik in ein rundes Gehäuse verpacken und lange Kanäle hineinmachen. Dort evtl. wechselbare Fenster (dünnes Plexiglas/Glas) einbauen. Dann das ganze mit Schleifekontakten und unten mit einem Gummiring antreiben. In die feststehende Basis macht man Aussparungen für den Encoder. Die Nullposition wird einfach durch eine längere Aussparung umgesetzt.



Wär vielleicht etwas für einen 3D Drucker... :)
Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software
Letzte Änderung: von nero76.

LiDAR 3 Jahre 9 Monate her #8088

  • Werner
  • Werners Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Der Schleifkontat wird eher schwer zum verwenden sein:
Das ist nur ein elektrischer Kontakt, kein Lager => man muss ein Lager um diesen Schleifer herum bauen.
Mit einem Gummiring Antrieb muss das Lager außer axialen Kräften auch radiale aufnehmen.

Es soll ja länger als ein paar Minuten halten, ich gehe ich von 4 U/s und 1000h Betriebsstunden aus.

Ein großes Kugellager könnte gehen in das der Schleifer hinheinpasst, schaut nach 3D Druckerteilen für die Befestigung aus.

Anderer Vorschlag:

Das Lidar direkt auf der Achse von einem Getriebemotor montieren. Es gibt genug kleine Getriebemotoren (Conrad RB35) mit allen möglichen Übersetzungen sodass man die gewünschten U/min erreichen kann.
Üblicherweise können die direkt ca 500g Axiallast aufnehmen, man braucht also kein weiteres Lager.

Schleifkontakte kann man durch eine Funklösung ersetzen, zB Bluetooth.
Stromversorgung über Induktion .
Die Antriebsachse muss durch die Spulen gehen.

Perfekt Regen- und Staubdicht wäre es wenn das Gehäuse fest montiert ist und nur das Lidar sich im Gehäuse dreht.
Müsste man testen ob der Laser durch die dann gewölbten Scheibe noch funktioniert.
Eine Heizung gegen das Beschlagen muss man auch vorsehen.

So, jetzt ist das eine Lösung die wahrscheinlich über meinem Budget liegt :(

LG Werner

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 2.949 Sekunden