Archiv verlassen und diese Seite im Standarddesign anzeigen : Ultraschallsensor-Konzept gesucht - Vorschläge willkommen!
AstroRobot
08.01.2018, 07:09
Hallo RoboterNetz,
ich bastle zurzeit an einem Roboter der u.a. Ultraschallsensoren zur Abstandsdetektion nutzt. Jetzt stehe ich vor dem Problem, dass der Roboter nicht über die Füße von umherstehenden Personen fahren soll, aber gleichzeitig kleine Hindernisse, wie z.B. den Übergang von einem Untergrund zum nächsten über eine kleine Rampe meistern soll. Habt ihr vielleicht Erfahrungen oder Tipps für mich, wie ich dies anstellen kann? Macht es Sinn, die Sensorwerte zu filtern oder sollte ich vielleicht den Sensor um 5 bis 10 Grad nach oben neigen? Oder habt ihr vielleicht ganz andere Lösungsansätze? Alle Ideen sind mir herzlich willkommen. ;)
Ich nutze zur Hinderniserkennung chinesische low-cost Ultraschallsensoren (4 Stück vorne und 2 Stück hinten). Wobei aber in meinem Fall nur die Vorwärtsfahrt von Bedeutung ist, da die rückwärtigen Sensoren lediglich bei der Anfahrt der Ladestation eingeschaltet werden.
Vielen Dank für Eure kreativen Ideen! ;)
LG, Astro
_______ EDIT1 _______
Ich habe außerdem ein 2D Laserscanner auf der Höhe von ca 27cm über dem Boden verbaut. Also ein Konzept zur Sensorfusion ist auch möglich. Wenn ihr vorschläge für weitere Sensoren habt, die weiter helfen könnten, würde dies veilleicht auch helfen.
Beispielsweise habe ich daran gedacht, mit dem Laserscanner Objekte zu detektieren und nur im Radius um diese Objekte mit dem Ultraschallsensor zu scannen. Wird vom Laserscanner kein Objekt erkannt, so könnte man die Ultraschallsensoren muten. Allerdings wären dann Glas-Türen nicht mehr zu erfassen. Habt ihr vielleicht eine passende Idee? ;)
_______ EDIT2 _______
Hier nochmal die Rahmenbedingungen für den Ultraschallsensor aus dem Datenblatt: 33164
i_make_it
08.01.2018, 21:57
Hallo und willkommen,
Auf Verdacht vermute ich mal das es sich um HC-SR04 handelt.
Für jeden US-Sensor gibt es eine Charakteristik.
Bsp.:
33172
Es hängt also davon ab wie hoch über dem Boden die Sensoren angebracht sind, ob sie leicht nach oben schauen müssen oder ob sie waagerecht sein können.
AstroRobot
09.01.2018, 02:18
Hallo i_make_it,
nicht ganz! Es handelt sich konkret um den 16x12 分体超声测距模块, welcher aber von der Funktionalität sehr ähnlich zum Klassiker HC-SR04 ist. Aber theoretisch sind beide Sensoren funktionsgleich.
Bezüglich der Montage: Ich bin völlig frei in der Anordnung. Lediglich folgende Parameter müssen eingehalten werden: Untergrenze 50mm ü. Boden, Obergrenze 270mm ü. Boden. Ansonsten kann ich die Sensoren auf beliebiger Höhe, mit jedem beliebigen Winkel und jeder sinnvollen Anzahl montieren. Natürlich macht es keinen Sinn zu viele Sensoren zu installieren, da Interferenzen auftreten können. Ich versuche ein Sensorkonzept zu erarbeiten, um die oben genannte Problematik zu lösen. ;)
Viele Grüße,
Astro
i_make_it
09.01.2018, 09:27
Leider sagt "16x12 分体超声测距模块" nicht wirklich viel aus.
16x12 könnte dafür stehen , das die verwendeten US-Kapseln 16mm Durchmesser haben und 12mm hoch sind Aber auch für irgend was anderes.
Und "geteiltes Ultraschall Distanzmessmodul" meint wohl, das es eine explizite Senderkapsel und eine explizite Empfängerkapsel gibt.
Im Gegensatz zur Technik, mit einer Kapsel, die erst einen Burst sendet und dann nach einer gewissen Totzeit als Empfänger für das eigene Signal genutzt wird.
Da es auf die Sende- und Empfangscharakteristik der jeweiligen US-''Kapsel ankommt, ob es neben der Hauptkeule noch Nebenkeulen gibt und wie die ausgebildet sind, kann man ohne Datenblatt des Herstellers oder Meßprotokoll vom jeweiligen Sensor keine Aussage machen wie die Sensoren anzuordnen und auszurichten sind.
Das ist halt der Nachteil wenn man beim Chinaclone Geld spart, das gibt man dann im Zweifelsfall für eigene Versuche aus.
Denn bei den Clones, kann man sich noch nicht einmal sicher sein, das identisch aussehende US-Kapseln auch nur eine annähernd ähnliche Charakteristik haben.
Das Ganze ist solange unproblematisch wie man sicherstellt, das es keine ungewollten Reflektionen (z.B. vom Boden) gibt.
Also entweder pauschal die 270mm Bodenabstand nutzen oder einen Testaufbau in dem jeder Sensor bei identischen Szenarien zeigen muß, bei welchem Abstand zum Boden er Störungsunempfindlich ist.
Wenn das Timing ähnlich wie beim HC-SR04 ist, ist der Fehlerfall entscheident wie viele Messungen pro Sekunde möglich sind.
Ein Testaufbau wäre zwei Sensoren parallel nebeneinander zu setzen, mit einem Ziel bei ca. 75% des erlaubten Messabstands und intermittierend die Messung zu starten. Werden die US-Bursts intern kodiert, zeigen beide den richtigen Abstand. Wenn nicht dann zeigt ein Sensor z.B. 1/3 des anderen als Abstand an, da er duch das Echo des anderen Sensors getriggert wird.
Dann sollte man testen (oder im Datenblatt lesen) nach welcher Zeit der Sensor bereit zur nächsten Messung ist.
Und was bei Überschreiten der maximalen Messdistanz passiert. Ist der Sensor dann sofort messbereit oder dauert das dann länger wie bei einer gültigen Messung, da eine Fehlerroutine abläuft um Fehlmessungen durch erfassen des Echos des vorrausgehendens Zyklus zu verhindern.
Ein möglicher Testaufbau wäre da ein Ziel bei ca. 130-150% der maximalen Messdistanz. Entweder erhällt man einen Abstand der 30-50% der maximalen Messdistanz entspricht, oder ein "out of range"/error oder wie auch immer der Sensor das signalisiert.
Ich habe z.B. einen Aufbau mit zwei HC-SR04 an einem Arduino Nano. Die sind auf micro RC-Servos montiert.
Einer für die linke und einer für die rechte Hemisphäre.
Bei Vorwärtsfahrt decken diese mit 8 Ausrichtungen einen Winkel von rund 120° ab, in dem jeder Servo vier Positionen anfährt (0°, 20°, 40°, 60°).
So ist der Winkelunterschied zwichen den Sensoren, bei den Messungen immer 60°, was Störechos vom jeweils anderen Sensor minimiert.
Und direkt nach vorne wird doppelt so oft gemessen wie in die anderen Richtungen.
Dann habe ich noch einen "Rundumblick" Modi, in dem Jeder Sensor 180° in 10° Schritten abdeckt, wobei die aufeinanderfolgenden Messungen in 30° Schritten (also 0°, 30°, 60°, 90°, 120°, 150°, 180°, 10°, 40°, 70°,.......) erfolgen um Fehlmessungen durch Sekundärechos zu verhindern.
Der Rundumblick erfolgt bei mir beim Stillstand und ist mit 38 Einzelmessungen in 19,5 Meßsyklen (die Zyklen der beiden Sensoren sind um 50% Zykluszeit zeitversetzt, so das der letzte Messvorgang eine halbe Zykluszeit nach dem vorletzten endet) recht Zeitintensiv.
oberallgeier
09.01.2018, 10:33
.. Ultraschallsensoren zur Abstandsdetektion .. dem Problem . . Übergang .. über eine kleine Rampe meistern ..
.. Ich habe .. zwei HC-SR04 .. auf .. RC-Servos montiert .. vier Positionen .. noch einen "Rundumblick" Modi .. recht ZeitintensivRundblickmodus - klasse!
Messungen von Teilen geringer Größe, 3 .. 5 cm im Nahbereich zwischen einem halben bis einen Meter rum, sind für US-Messungen schwierig. Aus (m)einem Jungend-forscht-Projekt (https://www.roboternetz.de/community/threads/65596-Fragen-zu-Laserpointer-Leistung-Sichtbarkeit-Gef%C3%A4hrdungsgrad?p=604602&viewfull=1#post604602) habe ich im Hinterkopf, dass bei unseren grundlegenden Messungen auch mal schmale Flächen mit Ultraschall angemessen werden sollten: Bordsteinkanten (als Vertiefung ebenso wie als Erhöhung) sowie dünnere Stangen. US-Messungen in diese Richtung waren damals für uns das Kriterium, warum wir für solche Hindernisse - z.B. Haltestangen für Verkehrsschilder u.ä. und übliche Bordsteinkanten unter 10 cm - ne optische Messung gewählt hatte. Die wurden mit Ultraschall nicht sicher genug erkannt. Bei unserem Blindenstock wurde genau deswegen ein Sharp für Messaufgaben im unmittelbaren Bodenbereich gewählt. US war für uns mehr "fürs Grobe", während schon völlig Ungeübte mit dem Blindenstock Dinge wie z.B. Fußspitzen detektieren konnten.
.. Ich habe außerdem ein 2D Laserscanner auf der Höhe von ca 27cm über dem Boden verbaut ..So etwas hatte ich mir bisher nicht geleistet, alle Achtung. ABER - 2D hilft ja auch eher wenig bei Bodenkanten !?! oder?
i_make_it
09.01.2018, 11:25
Messungen von Teilen geringer Größe, 3 .. 5 cm im Nahbereich zwischen einem halben bis einen Meter rum, sind für US-Messungen schwierig.
Meine Senorik ist auch mehrschichtig.
Bis 4m die HC-SR04.
4-30cm - Sharp GP2Y0A41SK0F, immer paarweise, einer waagerecht und einer 45° nach unten um Treppenabsätze etc. zu erkennen.
Kollisionserkennung - Selbstbaubumper mit Mikroschaltern
Holomino
09.01.2018, 17:05
Da es auf die Sende- und Empfangscharakteristik der jeweiligen US-''Kapsel ankommt, ob es neben der Hauptkeule noch Nebenkeulen gibt und wie die ausgebildet sind, kann man ohne Datenblatt des Herstellers oder Meßprotokoll vom jeweiligen Sensor keine Aussage machen wie die Sensoren anzuordnen und auszurichten sind.
Es ist ja noch viel schlimmer. Die Schallkeule ist kein digitales Ding. Entsprechende Diagramme zeigen einen Winkel und eine zugehörige Dämpfung. Sprich: Ein Gegenstand wird z.B. geradeaus in Distanz X und mit Abweichung 10° in X/4 erkannt, da die Auswertung der Billigsensoren leider nur einen Schwellwert verwendet.
Insofern ist es vielleicht am Sinnigsten, die Sensoren diagonal nach unten zu richten und zu messen, ob sich der quasi konstante Abstand zum Boden (kurze Distanz und fester Reflexionswinkel = sicherer Empfang/ schnelle Messresultate) relevant ändert. Ob das aber z.B. bei unterschiedlichen Bodenbelägen wirklich konstante (brauchbare) Werte gibt? - keine Ahnung - hab's nie probiert!
Mal was Unkonventionelles: Kann man den Lidarsensor vielleicht mit ner einfachen Servomechanik zyklisch nach vorne kippen und so die Fläche vor dem Robbi testen?
i_make_it
09.01.2018, 17:36
Beim schrägen auftreffen auf Objekte wird es je nach Objekt (Bodenbelag richtig schlimm)
Mit dem HC-SR04 hatte ich auf Glas, Fließen, PVC, Holz, Metall, Schallschluck Deckenplatten ganz gute Ergebnisse.
Teppich und da vor allem Flokati und Berber, dämpfen sehr stark. Teilweise war da die Reichweite unter 2 Meter. Lautsprecher Boxenbespannung und Nylonstoff (wie Damenstrümpfe bzw. andere netzartige Gewebe) sind nahezu unsichtbar.
Bei Teppischen und gestrickten Wollsachen ist der Winkelbereich bei dem es ein brauchbares Echo gibt klein er wie bei "harten"/glatten Oberflächen.
US-Sensoren nutze ich, weil ich damit kostengünstig eine Reichweite hinbekomme, die ich mit SHARP nur mit mehreren Sensoren und teurer hinbekomme. Und ich habe bei der Kombination IR und US weniger Schwächen wie nur mit einem System.
Für in der Wohnung reichen mir auch die knapp 4 Meter Reichweite, damit werden die Möbel immer erkannt.
Stuhl- und Tischbeine werden halt wegen der geringgen Rückstrahlfläche mit US erst sehr spät erkannt, aber dafür gibts ja noch die IR und zur Not noch die Bumper.
Wenn man bei US noch etwas "verbessern", ist ein Selbstbau besser als das was man kaufen kann. Beim Sender kann man mit verschiedenen offenpoorigen Hartschäumen und festen Schaumstoffen den "Strahl" konditionieren (Strahlcharakteristik verbessern).
Bei den Empfängern kann man mit Abschattung durch solche dämpfenden Materialien den Winkelbereich verkleinern und so Mehrquadranten Empfänger aufbauen die eine ganz brauchbare Winkelauflösung haben.
Bei entsprechendem Aufwand kann man sogar die Form von Objekten erkennen.
Da heute Kameratechnik und entsprechende Rechenleistung "nichts" mehr kostet (Verglichen mit der ersten Hälfte der 1980er Jahre). lohnt das aber nicht mehr. Außer man will sich mit dem was man sich da erarbeitet an Radartechnik herantasten.
AstroRobot
10.01.2018, 03:09
Hallo zusammen,
vielen Dank zunächst einmal für Eure lebhafte Diskussion und Eure tollen Ideen! ;)
Um die Verwirrung zu mindern habe ich Euch hier mal das Datenblatt hochgeladen. Es ist allerdings auf Chinesisch. 33179331803318133182331833318433185331863318933187 33188 Der momentan verbaute Laserscanner ist dieser hier: UST-10LX (http://www.senteksolutions.com/application/files/2414/7196/1936/UST-10LX_Specifications.pdf)
Ich weiß, dass es einige wichtige Unterschiede zum hc-sr04 gibt. Allerdings ging es mir nicht um das finale Sensor-Setup, sondern mehr um eine generelle Idee zur Realisierung. Ob ich letzten Endes z.B. den Sensor um 1° oder 2° neige ist kein großer Unterschied. Mir geht es um eine generelle Idee zur Realisierung.
Ich finde die Idee mit den IR-Sensoren recht interessant. Ich habe hier noch einige rumliegen, fand diese aber zu instabil, als dass ich über einen ernsthaften Einsatz nachgedacht habe. Ich konnte die Volt-Distance-Kurve nur entweder im Nahbereich oder im Fernbereich exakt abbilden. Zudem waren deren Messungen sehr anfällig für Lichteinflüsse. Bei direktem oder auch indirektem Sonnenlicht war sogar überhaupt keine Messung mehr möglich. Mein Roboter muss allerdings so stabil sein, dass er auch vor einem Fenster vorbeifahren kann und dabei kein Fehlverhalten zeigt. D.h. ggf. muss ich hier zwei Sorten Sensoren für ein redundantes Messverhalten einsetzen?
Ich habe auch schon über den Einsatz eines RADAR-Sensors nachgedacht. (z.B. diesen hier: SMR-324 / SMR-334 (http://www.innosent.de/fileadmin/media/dokumente/datasheets/170622_SMR-314_324_334_Datasheet.pdf)) Allerdings ist die Reichweite sehr groß und ich suche eine Lösung für den Nahbereich (ca. 20cm bis 4m). Die großen Entfernungen deckt ja bereits der Laserscanner ab.
Des Weiteren bastle ich parallel an einer Lösung mit Intel Intel RealSense (https://www.intel.com/content/www/us/en/architecture-and-technology/realsense-overview.html) herum. Ich werde die Tage versuchen, meine R200 in ROS zu integrieren.
Jedoch wäre mir eine möglichst kostengünstige Lösung am liebsten. Habt Ihr vielleicht gute Erfahrungen mit den IR-Sensoren gemacht? Oder habt ihr andere Ideen? :)
Auch die Idee, den UR-Strahl zu kontrollieren gefällt mir. Kann ich so effektiv einer Interferenz der Sensoren untereinander entgegenwirken? Denn wenn ich die Sensoren abwechelnd betreibe wirkt sich dies negativ auf den Messzyklus des Gesamtsystems aus.
Noch eine letzte Anmerkung: Den von mir momentan eingesetzten Ultraschallsensor ist kein Muss. Ich habe noch diverse andere Modelle hier. Ggf. tausche ich diesen ohnehin im finalen Konzept aus.
Viele Grüße,
Astro
i_make_it
10.01.2018, 08:27
Auch die Idee, den UR-Strahl zu kontrollieren gefällt mir. Kann ich so effektiv einer Interferenz der Sensoren untereinander entgegenwirken?
Denn wenn ich die Sensoren abwechelnd betreibe wirkt sich dies negativ auf den Messzyklus des Gesamtsystems aus.
Mir sind keinerlei kostengünstige Sensoren bekannt die dahingehend geeignet sind.
Beim Selbstbau von US- und IR-Sensorsystemen. kann man Sender, möglichst mit Rundstrahlcharakteristik und mehrere Empfänger mit Richtcharakteristik kombinieren.
Man nutzt also das gegenseitige Stören als Feature, in dem man einen anstatt mehrere Sender nimmt und so zeitgleich verschiedene räumliche Abschnitte abdecken kann.
Da US-Kapseln erst mal anschwingen müssen und die meisten auf einer Resonanzfrequenz arbeiten, ist mit günstigen US-Kapseln kaum eine Frequenzmodulation (FM) möglich und den Burst zu zerhacken (Um so eine Adresse über Puls-pausen aufzuprägen) ist auch nicht mit entsprechender Geschwindigkeit drin.
Bei durchstimmbaren US-Kapseln ist FM möglich und auch ein komplettes FMCW System, das mit Mehrfachechos umgehen kann.
Aber auch die Empfängerkapseln die das dann auch wieder aufnehmen können sind teurer.
Die Probleme wurden in den 1980ern angegangen, aber sind halt heute durch LIDAR, RADAR und Bildverarbeitung für die Wirtschaft obsolet.
Bsp.: http://www.google.cd/patents/DE3701521A1?cl=de&hl=fr
Bei KFZ Abstandswarnern (Einparkhilfen), ist die gegenseitige Störung z.B. kein Problem, da die Störung nur einen zu kleinen Abstand vortäuscht. Dann hält der Fahrer halt an obwohl noch Platz ist.
Laserscanner oder 3D Kamera ist schon ein Anfang. Mein Vorschlag wäre einen leg detector (http://wiki.ros.org/leg_detector) zu nehmen. Damit sollte die Unterscheidung Hindernis vs Fuß deutlich einfacher werden.
AstroRobot
22.01.2018, 02:50
Hallo Defiant,
das mit dem leg detector (http://wiki.ros.org/leg_detector) ist wirklich eine interessante Idee und sicherlich auch eine Überlegung wert. Da mein Roboter allerdings nur 30cm hoch ist, wird die seeded-Variante sicherlich schwer umzusetzen. Nichtsdestotrotz kann man auch mit der unseeded-Variante sicherlich einige Informationen gewinnen. Insbesondere auch in Verbindung mit eines Sensor Fusion Konzept.
Viele Grüße,
Astro
als Idee vielleicht mal TOF Sensoren in Betracht ziehen
Die senden moduliertes Licht und werten das reflektierte Licht speziell aus um eine Abstandsinformation zu erhalten.
Vorteil ist, man kann mittels einfacher optischer Linsen bequem den Empfangsbereich tunen und die Hindernissgröße ist auch relativ irrelevant, solange es wenigstens etwas Licht reflektiert (das Betrifft auch den Boden, man müsset also eine art künstlichen Horizont haben damit man kein Licht vom Teppich oder so empfängt)
Außerdem kann man solche ToF Receiver praktisch selber bauen :) (Die geschwindigkeit und Auflösung wird nur etwas schlechter als bei den Integrierten Lösungen)
Fotoelement/Transistor + Kondensatoren + schnelle Analoge Schalter + µC mit differentiellem ADC
AstroRobot
23.01.2018, 02:13
Hallo Ceos,
vielen Dank für deinen Vorschlag!
Ja, ich stimme dir zu. Eine ToF-Kamera (wie z.B. die von mir untersuchte Intel RealSense (https://software.intel.com/en-us/articles/realsense-r200-camera)) ist sicherlich eine sinnvolle Ergänzung meines Systems. Ich bin mir sicher, dass ich diese in nicht allzu ferner Zukunft einbinden werde. Hier lassen sich viele zusätzliche Informationen gewinnen und mittels Sensorfusion kann die Stabilität des Gesamtsystems deutlich erhöht werden.
Zunächst jedoch arbeite ich an einem Ultraschallsensor / LIDAR Konzept. Ich habe mich dazu entschlossen, die US-Sensoren in sich kreuzenden Bahnen anzuordnen. Dadurch erhalte ich eine höhere Genauigkeit, da ich Felder identifizieren kann, in denen sich die Detektionsbereiche der Sensoren überschneiden. Hier mal eine grobe Skizze: 33236
Viele Grüße,
Astro
die US-Sensoren in sich kreuzenden Bahnen anzuordnen
denk daran dass gleichzeitiges senden der sensoren zur interferenz untereinander führt, die arbeiten schließlich mit echo laufzeit und wenn sensor 1 genau das gleiche brüllt (gleiche frequenz) weis sensor 2 garnicht ob es überhaupt sein eigenes echo ist, du brauchst also US sensoren die immer abwechselnd abtasten oder du machst ein empfänger-array und einen einzigen sender
oberallgeier
23.01.2018, 09:09
.. ToF-Kamera (wie z.B. die von mir untersuchte Intel RealSense (https://software.intel.com/en-us/articles/realsense-r200-camera)) ist sicherlich eine sinnvolle Ergänzung meines Systems ..Hast Du die R 200 schon? Ist ja nicht wirklich günstig ! ? Ich liebäugle gerade mit den deutlich günstigeren, aber sicher leistungsschwächeren VL53L0X/ToF-breakout, die es bei pololu (und anderen) - je Stück - für den Bruchteil gibt. Dort bin ich aber noch nciht über die maximale Messrate gestolpert - nur über die angegebene, gute Funktion von I²C bis 400 kHz.
Die Warnung von Ceos wegen der Interferenzen bei US kann ich nur bestätigen. Ich habe ein Pärchen, die krächzen in leicht unterschiedliche Richtungen - entsprechend der Keule aus dem Datenblatt. Zur Maximierung der Abtastrate werden die wechselweise so bedient, dass ich die Nummer zwei starte, >unmittelbar< bevor ich die Daten von der Nummer eins abhole und sinngemäß. Das klappt ganz gut, aber die Messsfrequenz ist dann statt rund 15 Hz nur noch gute 7,5 Hz. Deine Messanordnung "über Kreuz" mache ist gut, dieses System nutze ich auch um mich über untere Bereichsgrenzen etwas hinwegzuschummeln.
er spricht von einer ToF Kamera, die hat mehrere pixel die entsprechend aufgebaut sind und kann dir quasi ein 3d abstands-bild generieren, deine version kann stumpf nur den abstand von allem messen was gerade das modulierte licht reflektiert, also nur das "hellste" objekt oder einen wert dazwischen wenn man 2 gleich helle objekte hat
meine idee war es den fototransistor in diesem sensor zum beispiel mit einer linse nur eine bgrenzten bereich sehen zu lassen um dann mit mehreren dieser sensoren abzutasten
aber am besten wäre es nur eine einzige modulierte lichtquelle zu haben und dann mehrere empfänger (achtung das geht nicht indem du die LEDs der anderen sensoren abklebst, die empfänger müssen mit der modulierenden lichtquelle synchron laufen und das geht eben nur pro sensor, aber neuere sensoren können die modulation anpassen um interferrenzen zu minimieren)
AstroRobot
24.01.2018, 03:11
denk daran dass gleichzeitiges senden der sensoren zur interferenz untereinander führt, die arbeiten schließlich mit echo laufzeit und wenn sensor 1 genau das gleiche brüllt (gleiche frequenz) weis sensor 2 garnicht ob es überhaupt sein eigenes echo ist, du brauchst also US sensoren die immer abwechselnd abtasten oder du machst ein empfänger-array und einen einzigen sender
Ja, daran habe ich gedacht. Ich schalte die Sensoren so nacheinander, dass die Sensoren auch möglichst nicht nach ihrem direkten Nachbarn "funken". Somit wird die Wahrscheinlichkeit einer Interferenz weiter minimiert. Zudem halte ich Abklingzeit (bei mir 70ms) ein.
Bezüglich der RealSense: Mit den Messergebnissen bin ich soweit sehr zufrieden. Auch gibt es viele Source Code Beispiele und ein großes Support Forum von Intel. Die Library ist recht gut dokumentiert. Dennoch ist es relativ komplex mit der Kamera zu arbeiten, da man viele programmiertechnischen Aspekte beachten muss, so wie z.B. Zeiger und Multi-Threading. Besonders für Programmier-Anfänger würde ich die Kamera nicht empfehlen, ebenso nicht für Leute, die sich vor C++ scheuen. (Es sind auch andere Sprachen, so wie z.B. Java und C# verfügbar, allerdings muss man hier öfters „unmanaged Code“ einbinden, was das Ganze in meinen Augen unnötig komplizierter macht.) Wenn man allerdings mit diesen Umständen umgehen kann, erhält man sicherlich ein mächtiges Sensorpaket. Toll finde ich vor allem den Aspekt, dass man neben der reinen ToF-Kamera, die Tiefenwerte liefert, auch ein Farbbild bekommt. Somit könnte man theoretisch auch ein Computervision Algorithmus nebenherlaufen lassen, um das Gesamtsystem noch weiter zu stabilisieren. Klar, das braucht sehr viel Rechenleistung, aber die ist ja heutzutage selbst auf Notebooks recht gut verfügbar. Als Ausblick bleibt ja noch die CUDA GPU-Beschleunigung, welche die Berechnung noch weiter antreiben könnte. Ich denke, im Bereich ToF-Kamera/Computervision steckt enorm viel Potenzial.
Viele Grüße, Astro
_______ EDIT1 _______
Auch toll finde ich bei der RealSense Kamera, dass man damit theoretisch eine 3D Map der Umgebung erstellen kann. Somit kann man die Orientierung deutlich verbessern. Zudem kann neben den XYZ Werten der Map auch Farben hinzufügen, sodass die Präzision gesteigert werden kann. Ihr merkt, ich bin von dem Potenzial der Kamera sehr begeistert… :D
Allerdings kann IR-Strahlung (wie z.B. von direktem oder indirektem Sonnenlicht) die Messung stark beeinflussen. Hier müsste man dann mittels Sensor Fusion durch das Einbinden anderer Sensoren, wie z.B. RADAR oder Ultraschall Abhilfeschaffen. Aber nun genug der Werbung für RealSense! ;)
Ein paar Anmerkungen:
- Du kannst die 3D-Kamera auch für den LegDetector benutzen. Dafür wird ein Laserscanner "simuliert" (http://wiki.ros.org/depthimage_to_laserscan) indem vom Tiefenbild nur n horizontale Zeiten (z.B. nur die mittlere) verwendet werden.
- Bei der Verwendung von ROS kannst du dir die direkte Programmierung für die RealSense sparen, da ROS einen Treiber mitbringt.
- Ich hab zwar auch eine ältere RealSense, bisher allerdings wenig verwendet. Ich verwende immer noch die Asus Xtion. Meine Erfahrung ist aber bisher, dass sich beide Techniken bei direktem Sonnenlicht ähnlich verhalten: Ein Totalausfall.
- Ich habe auch 3D-Kamera und Sonarsensoren an meinem Roboter. Zur "Sensor Fusion" verwende ich aber eine einfache OR-Verküpfung. Das dazu passende Standardwerkzeug unter ROS ist die layered costmap.
Allerdings kann IR-Strahlung (wie z.B. von direktem oder indirektem Sonnenlicht)
Der Wellenlängen-Empfindlichkeitsbereich der Empfänger liegt (MEISTENS) genau in dem Bereich der bei natürlichem Sonnenlicht kaum zu finden ist, da gibt es wohl ne Lücke im Spektrum der Sonne :)
Außerdem ist das Licht moduliert. Nur ein direkter Lichteinfall in die Linse würde stören. Solange der empfangende Pixel nicht in Sättigung geht wird man trotzdem Tiefeninformation bekommen.
EDIT: Zur Info, ich habe Berufsbedingt ne Schulung von Texas Instuments für ihren TOF Sensor mitgemacht und hab verschiedene Szenarien ausprobiert. Die Testgeräte hatten allerdings alle jeweils 4 Laserdioden für maximale Helligkeit und selbst 8 Kameras die gelichzeitig in den gleichen Raum hinein blitzen hatten fast keine Interferenz, nur wenn man direkt in den Lichtstrahl eines anderen Modul geguckt hat gabs eine Übersteuerung der Pixel nahe der Lichtquelle.
Vielleicht sollte ich meine Kameras ja in die Schulung von TI schicken ;)
Mal im Ernst: Vielleicht sind meine Kameras einfach zu billig. Tiefeninformationen sind bei Sonne da, allerdings behauptet die Kamera dann es würden sich Objekte direkt vor der Kamera finden. Abgesehen davon ist in meinen Breitengraden die Sonne fast immer seitlich zu sehen. Spiegel und Fenster sind btw. ebenfalls ein Problem wo falsche Daten geliefert werden.
Update: Eventuell muss ich auch einfach nur die Einstellungen optimieren (https://github.com/IntelRealSense/librealsense/issues/208).
Update: Eventuell muss ich auch einfach nur die Einstellungen optimieren (https://github.com/IntelRealSense/librealsense/issues/208).
oh ja, wir haben da zwar 2 Stunden über die Technologie Philosophiert und dann auch 2 Stunden mit den Kameras egtüftelt, aber mit Default war da auch nur eine langsam updatende Wolke aus Pixels zu sehen die sich räumlich gesehen hin und her gebeamt haben, nach ca. 1 Stunde Parameter basteln hatten wir alle dann Kameras die richtig gut funktionierten XD
AstroRobot
25.01.2018, 09:11
Klingt für mich nach dem gleichen Spaß wie beim Einstellen eines Kalman-Filters :D
@Ceos: Das mit der Lücke im Sonnenspektrum (https://de.wikipedia.org/wiki/Sonnenstrahlung) klingt logisch. Wenn die ToF Kamera hier einen monochromatischen Laser auf genau der IR Frequenz nutzt, könnte man die Überlagerung minimieren. Trotzdem kann immer ein Rest IR Strahlung in genau dem Spektrum vorhanden sein, egal ob diese von der Sonne selbst oder von anderen möglichen Quellen herrührt. Möglicherweise kann man hier mit diversen Filtern und digitalen Signalkodierungen des Lasers Abhilfe schaffen.
Gruß, Astro
Möglicherweise kann man hier mit diversen Filtern und digitalen Signalkodierungen des Lasers Abhilfe schaffen
Die ToF Kameras mit denen wir gespielt haben hatten eine Option für variables Frequenz-Spektrum um Störquellen auszublenden, das Funktionsprinzip hinter den ToF-Pixeln vermeidet von Haus aus schon eine Beeinträchtigung durch fremdlicht, ausgenommen natürlich Sättigungseffekte
@Defiant wenn du eine "erschwingliche" ToF Kamera hast verrat mal Typ und Bezugsquelle (als PM oder mach n extra Topic auf, hier schweifts etwas ab) die TI Exemplare sind Teuer und die günstigste war so 150€ mit 240p oder so
.... korrektur, noch weniger 144p
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.