ich würde auch allen, die mit mobilen Robots und room mapping per LIDAR etc anfangen, empfehlen, mindestens einen SAM3X8E (Arduino Due), SAMD51 (Adafruit Grand Central) oder ESP32 zu verwenden. Oder einen Rasperry Pi 2B, 3B oder 3B+.
ich würde auch allen, die mit mobilen Robots und room mapping per LIDAR etc anfangen, empfehlen, mindestens einen SAM3X8E (Arduino Due), SAMD51 (Adafruit Grand Central) oder ESP32 zu verwenden. Oder einen Rasperry Pi 2B, 3B oder 3B+.
Danke für Eure Tipps,
Ich glaub ich weiß jetzt, wie ich das Thema angehe.
Ich werd wirklich erstmal 4 Ultraschall Messungen für den Nahbereich nehmen.
Und wenn der Roboter dann sicher vor Treppenstufen Hindernissen anhält und umdreht.
Also dann werd ich eine Laserscanner mit einem eigenen µC Nachrüsten.
Ich werd aber kein SLAM Verwenden (also keine Karte erstellen)
sondern nur die Messdaten nutzen um vorrauschauender zu fahren und um die Sensorlücken (in der Horizontalen) zu schließen.
Von dem Array muss ich ja auch nicht alle Daten lesen.
Die 90° die in Fahrtrichtung Messen würden ja reichen.
Nach dem kleinsten Wert suchen und ggf. dann einen Ausweichkurs setzen.
Aber jetzt erstmal den Nahbereich absichern und alles zum laufen bringen.
gruß Dirk
Aus eigener Erfahrung rate ich Dir mal: nimm zwei, leicht gegeneinander verdrehbar. Dann z.B. anfangen mit einem Verdrehwinkel von - sagen wir mal ca. 30° - so ist mit den zweien ein Bereich von 75 bis fast 90° (je nach Messabstand) abzudecken. UND - die Sensoren müssen alternierend messen - erst Nr. 1, wenn das Messergebnis da ist dann 2, dann, wenn vorhanden . . . der Rest, nacheinander, dann Nr. 1 usf. Anders ist vagabundierenden Echos kaum beizukommen. Ergebnisse evtl. auf ein LCDisplay oder PC-Terminalprogramm (per UART)... Ich glaub ich weiß jetzt, wie ich das Thema angehe .. erstmal 4 Ultraschall Messungen für den Nahbereich .. und alles zum laufen bringen ..
Dann das spassige an der Vorarbeit: Messtests. Du misst z.B. knapp über dem Fußboden auf verschiedene Hindernisse: Tisch- und/oder Stuhlbeine, Blumen (mit Topf und z.B. überhängendem Grün), Bücherregale - unten in Bodennähe. Dann mal vielleicht 10/15 cm höher und spasseshalber auch mal so auf "halber" Höhe - vielleicht ein Meter. Mal ein Hängeschrank - usf. Mal ein paar verwandte Tests in einer Reihe mit jeweils leichtem Schwenk, z.B. von Hand - etwa je 5°-Schritte gegen ein einzelnes Hindernis. Und mach Dir Gedanken über die Ergebnisse.
Nicht uninteressant ist auch mal ein Test senkrecht nach unten auf Teppichboden ergänzt durch ein paar mit zunehmendem Schief-Winkel - also erst senkrecht nach unten, dann 10° vom Lot geneigt, 20°, 30° usf bis an die 60° oder so. Und zum Abrunden dazu, wenn vorhanden, Test auf Parkett, evtl. Kacheln, Vinyl usf.
Steht wirklich dafür.
Anmerkung: sorry - diesen, vorhergehenden Beitrag irrtümlich gelöscht
Ciao sagt der JoeamBerg
Hallo Gemeinde, ich hab schon lang nix mehr von meinem Projekt geschrieben.
Eigentlich wollte ich auch schon viel weiter sein.
Aber es kommt ja immer anders.
Aber zumindest hab ich die Sensoren erstmal verbaut.
6x Ultraschall Sensoren und
4x IR Sensoren (vorn + hinten)
Vielleicht werde ich die Ultraschallsensoren noch etwas steiler aufstellen,
um besser eine Wand zu erkennen.
Jetzt muss ich mir nur noch die Zeitnehmen und alles Verdrahten damit ich dann mal anfangen kann.
![]()
Das Projekt gefällt mir, ist aber ein irrer Hardware-Aufwand. Da würde ich eine TOF-Kamera oder ein LIDAR bevorzugen.
Ja ich wollte erstmal dem Roboter ein paar Sensoren verpassen die ihn im Nahbereich vor Fahrfehler schützt.
Danach wollte ich ihm anfangen etwas klüger zu machen.
Ich hab noch vor ein Kompassmodul, eine IR Fernbedienung und ein XYZ Sensor zu verbauen.
Er soll dann irgenwan auch mal den Weg zurück zum Startpunkt finden oder über gezielt zu einem Sender fahren können.
Vielleicht kommt auch ein 360° Lasermessgerät noch mit dazu.
Aber leider geht es seit Ende Februar nicht mehr so richtig weiter.
Mir fehlt irgend wie Zeit und Lust, mit etwas Angst vor Fehlschläge.
Aber ich werde mich jetzt mal darum kümmern das die Sensoren Strom bekommen.
Hallo ich hab jetzt endlich mal angefangen.
Und auch schon Blut geleckt.
Die Ultraschall Sensoren hab ich jetzt mal zum laufen gebracht.
Aber ich bin mir noch nicht sicher ob der Winkel so gut gewählt ist.
Etwas Senkrechter gibt vielleicht noch mehr vorwarnzeit und etwas mehr nach Vorn und Hinten da eine Wand von Vorne noch nicht so gut erkannt wird.
Aber ich hab mal eine Frage.
Wie groß ist die Streuung der gemessenen Werte?
Ich frag, weil der Roboter gerade still steht.
Und ich die Messdaten lass ich über Arduino Serieller Monitor
Auf dem PC mitschreiben.
Je nach Untergrund und je nach Winkel schwankt der Messwert trotz gleicher Distance sehr stark.
Er mist erst stabil den Abstand mit 55cm dann schiebe ich was in den Weg,
nehme es wieder weg und er Misst plötzlich 120cm für den gleichen Abstand wie vorher bei 55cm.
Der Echte Abstand liegt aber bei ca 13cm
Was mich schon mal zur zweiten Frage bringt (eigentlich ist mir der Zahlenwert ja egal)
aber lasse ich vielleicht irgend wie den Wert flasch berechnen?
Abstand = Gemessene Zeit * 0.01657
Hier mal der Code
Ich danke Euch schon mal für die AntwortendigitalWrite(Trig_Echo_1_PIN,LOW);
delayMicroseconds(5);
digitalWrite(Trig_Echo_1_PIN,HIGH);
delayMicroseconds(15);
digitalWrite(Trig_Echo_1_PIN,LOW);
Echo_1 = pulseIn(Echo_1_PIN,HIGH);
Echo_1 = Echo_1*0.01657;
Serial.println(Echo_1);
- - - Aktualisiert - - -
Ich hab jetzt den Fehler gefunden, das glaube ich zumindest.
Ich fand die Ultraschallsensoren ja so praktisch weil sie im 45° Winkel eingebaut, ja MIN und MAX überwachen sollten.
So das man Stufen und Gegenstände erkennen kann.
Aber durch den Winkel kommt es anscheint zu keiner 100% Erkennung.
Ich hab noch die Orignal "Katzenaugen" Ultraschall Messung auf dem Servomotor.
Damit wird ja im 90° Winkel aber dafür nur Horizontal gemessen.
Und da funktioniert es gut und das Messergebnis ist auch viel genauer.
Was kann ich jetzt machen?
Die Signalqualität von Ultraschall finde ich zumindest im meinem Aufbau als sehr ungeeignet.
Und wenn ich den Winkel ändere geht die Qualität der Signale für den einen Messbereich nach oben aber gleichzeitig für den anderen Messbereich nach unten. Also entweder Gegenstände erkennen oder den Abgrund.
Was meint ihr, macht IR vielleicht mehr sinn?
Allerdings hab ich noch keinen Sensor gefunden der zwei Schaltpunte hat und mir MIN und MAX Abstand liefert.
Also müsste ich immer zwei Sensoren verbauen.
Hat einer Erfahrung und kann mir schon mal tipps geben, so erspare ich mir vielleicht lange Erprobungsphasen.
Hallo!
Ein Gedanke am Rande:
Was können heute Kameras in Sachen Objekterkennung (runde, eckige, evtl. Türrahmen, Pfosten, Farben).
Vielleicht ist es nicht schlecht, auch mal in diese Richtung zu experimentieren, um zu sehen, was sich damit an Erkennung
abdecken ließe. Ergänzen kann man dies mit den üblichen Methoden zur Entfernungsmessung.
MfG
Und als Daten Output bekommt man den Winkel und die Entfernung?
skysmotor.co.uk verkauft online folgende Produkte: Spindelmotor-Umrichter, CNC-Spindelmotor, Servomotoren, Planetengetriebe und kann bei Bedarf online erworben werden.
Klingt nach einem soliden Plan! Für die vielen Ultraschallsensoren wäre ein I2C-Multiplexer (z.B. TCA9548A) ideal, um die Analogwerte effizient auszulesen – und denk dran, bei 360°-Erkennung die Totzonen zwischen den Sensoren zu minimieren.
Die website stepperonline.co.uk verkauft hochtorquige Schrittmotoren, AC-Servomotoren, BLDC-Motoren und Getriebe online.
Lesezeichen