Ich möchte eine sehr einfache Bilderkennung realisieren, damit meine ich-wills-noch-nicht-Roboter-nennen-Maschine (Bild) nicht mehr alles anrempelt, was ihr begegnet.
Zuerst wollte ich IR-Taster dafür verwenden, aber die damit zusammenhängenden Probleme (Streulicht) sind derart massiv, dass ich es nun mit einer kleinen Matrix (3x5 oder 4x5) „normaler“ Fotodioden (BPW 34) probieren möchte. Streulicht möchte ich kompensieren, indem ich ein Panel mit weißen LEDs benutze, das in Fahrtrichtung leuchtet, und dann die Differenz von „mit eigener Beleuchtung“ und „ohne“ bilde.
Kommentare/Ideen oder Hinweise auf Bibliotheken (wenn es die denn gibt) hochwillkommen!
Gregor
PS: Als Träger für die Fotodioden-Matrix hatte ich etwas wie den Plastikteil einer leeren Toffifee-Packung im Sinn. Ich möchte allerdings nicht eine ganze Packung in mich hineinstopfen müssen, um dann festzustellen, dass das Plastik eh zu dünn ist. Obwohl ... eigentlich mag ich solchen Süßkram
Nachtrag: Ja, klar, man kann eine Hinderniserkennung auch mit Ultraschall-Sensoren realisieren. Das möchte ich aber nicht, weil ich Katzenfan bin und die Viecher wohl bis hinauf zu 80 kHz hören können.
Noch ein Nachtrag: Zur „Architektur“ (was’n geschwollenes Wort ... brrr) der Hardware siehe das neulich erwähnte http://test.szaktilla.de/notizen.pdf. Den gerade erst angeschafften RPi 3 möchte ich verwenden, damit ich eine „ordentliche und leistungsfähige“ Linux-Hardware einsetzen kann und weil ich dann vieles auch via WLAN testen kann. Ich hoffe nur, dass der Pi nicht allzu viel Energie benötigt.
Hi Gregor,
da fällt mir mein NiBo Burger zu ein.
Schaue mal hier ist auch aus der Arduinio IDE programmierbar. Unten in den Videos siehst du die Hindernisserkennung und da gibt es auch ein Follow me. Beides mit 4 IR Sensoren gemacht. Ich habe bei mir auf dem Tisch keine sichrbaren Probleme mit Streulicht auch nicht drinnen bei Sonnenschein.
Man könnte sich evtl. ja etwas von den Libs nehemen.
Gruß
DerDani
Der ganze Trick besteht darin, die IR-Dioden zu modulieren.
Genauso wird das beim NiboBurger (wahrscheinlich, beim NiboBee ist es so) gemacht.
Meist werden 38KHz benutzt, und wenn man das "zu Fuss" macht, kann man da recht easy jeden Umgebungslicht-Einfluss eliminieren.
Richtig toll sind die Sharp GP2Yxyz-Sensoren, die können auch noch die Entfernung ausgeben, und haben sogar richtig Reichweiten, bis über nen Meter. so ein Ding auf nem Servo ist schon weit mehr als ne einfache Hinderniserkennung, da sie sehr schmal "sehen".
Preiswerter wären die IS471F-IR-Sensoren, und auch sehr praktisch: die haben schon den Treiber für (eine!) IR-Led integriert.
Man kann sie also direkt anschliessen, und hat nen kompletten Sensor.
Für mehr Reichweite kann man mittels nem Transistor auch mehrere benutzen.
Da der IS471F ebenfalls das Licht moduliert, ist auch er sehr resistend gegen Umgebungslicht. Allerdings können die so einfach keine Entfernung ermitteln (was man ja auch nicht immer braucht).
Rabenauge:
Der ganze Trick besteht darin, die IR-Dioden zu modulieren.
Ja, klar, nur sind die IR-Dioden, die ich kenne, dermaßen empfindlich, dass selbst geringes Streulicht so stark stört, dass auch das mit der Modulation nichts bringt.
Empfindlichkeit wär toll- ich brauch für ne Bastelei eine sichere Erkennung auf nen halben Meter und habs noch nicht geschafft (muss winzig sein).
Der von mir genannte Sensor umgeht das völlig- er gibt nur dann ein Ausgangssignal, wenn er sein eigenes Licht zurück bekommt. Kannste ausprobieren, die Dinger reagieren auf nix anderes. Auch nen richtiger IR-Scheinwerfer bringt das Ding nich aus der Ruhe.
Einzig die Reichweite ist etwas anhängig vom Hindernis, bestimmte Farben bringen mehr Reichweite als andere, weil sie IR-Licht besser oder schlechter reflektieren.
Das kann man auch selber machen, in Software:
LED abschalten, jetzt Sensor abfragen;
LED an und gucken, ob nun nen anderer Wert kommt-wenn, dann ist da was.
Sicherheitshalber kann man hinterher noch mal ne Dunkel-Messung machen oder aber das ganze Prozedere mehrmals wiederholen (bei analogen Sensoren nicht so gut, weil das bissel dauert, aber rein digital ist da keine ernsthafte Verzögerung bei).
Noch robuster gehts, wenn man das Licht richtig moduliert- und das funktioniert, das machen alle so.
Zu NiboBee (und -burger wohl auch) sind sämtliche Schaltpläne und Bibliotheken frei verfügbar, da kannste nachgucken, wie die das machen. Bin mir ziemlich sicher, dass es mit den üblichen 38KHz läuft.
Den entscheidenden Aha-Effekt hatte ich mit IR-Tastern, die erst dann eine brauchbare Reaktion zeigten, nachdem ich die IR-Sendedioden in Schrumpfschlauch gepackt hatte. Die damit beleuchtete Fläche war dann wohl scharf genug begrenzt und vor Allem das Streulicht zum daneben sitzenden IR-Sensor ausgeschaltet.
Ich hatte zuerst vermutet, dass die Herstellerangabe zum Sensor in der Art typischen Werbe-Blafasels übertrieben war. Insbesondere die Reichweite hat sich irre erhöht.
Vielleicht hilft das ja auch Dir.
Gruß
Gregor
PS: Die Sensoren, mit denen ich das erlebt habe, waren TSSP4P38 von Vishay (nein, ich bin mit denen weder verwandt, noch verschwägert, noch sonstwie mit denen verbunden).
Ja-Streulicht ist auch bei den IS471F ein Problem.
Da hab ich Massnahmen ergriffen. Dennoch ist die Reichweite mit rund 10-15cm zu gering, da reicht die Zeit nicht zum reagieren.
Und: für mehr IR-LED's hab ich den Platz nicht.
Als nächstes will ich es mit Fernbedienungs-Sensoren versuchen, die dürften deutlich empfindlicher sein, aber auf die warte ich noch. Ausserdem sitze ich noch an anderen Geschichten...
Rabenauge:
Ja-Streulicht ist auch bei den IS471F ein Problem.
Da hab ich Massnahmen ergriffen. Dennoch ist die Reichweite mit rund 10-15cm zu gering, da reicht die Zeit nicht zum reagieren.
Und: für mehr IR-LED's hab ich den Platz nicht.
Als nächstes will ich es mit Fernbedienungs-Sensoren versuchen, die dürften deutlich empfindlicher sein, aber auf die warte ich noch. Ausserdem sitze ich noch an anderen Geschichten...
Was für eine Sache ist das denn, wo Du die Probleme mit der zu geringen Reichweite hast? Wenn Du das nicht öffentlich ausbreiten möchtest, schreib ne PM.
Die IR-Taster, mit denen ich bislang zu tun hatte (nur die weiter oben Genannten), hatten eine deutlich größere Reichweite. Die war allerdings stark davon abhängig, wie die allgemeine Beleuchtung war. Um das auszugleichen, wollte ich auch mal mit LDRs spielen, aber es gibt soooo viele Sachen, mit den ich gerne mal spielen würde ...
Ach ja: Ein anderes Problem, das ich mit den IR-Tastern hatte, war, dass man nur mit ungefähr 2 Hz tasten kann. Und was die Dinger endgültig für die ursprüngliche Idee unbrauchbar machte, war die Tatsache, dass sie eine Automatik haben, die ich nicht beeinflussen kann (AGC, „automatic gain control“).
Kenne ich nicht, diese IR-Taster. Aber da mach ich mich mal schlau...
Die Bastelatrbeit ist nix geheimnisvolls, im Roboternetz hatte ich da schon von erzählt.
Es handelt sich um ein ehemals ferngesteuertes Spielzeugauto in 1:24, was ich autonomisieren will.
Die Lenkung hab ich auf Servo umgebaut, und nen richtigen Motortreiber hat es auch (Tempo regelbar). Da will ich die Hinderniserkennung möglichst unsichtbar realisieren, daher fallen die üblichen Tricks weg.
Da ich das Teil mit nem 7.4V-LiPo betreibe anstatt der originalen 6V, ist es relativ flott unterwegs (bei Vollgas dürft es locker nen m/s fahren), und bei Reichweiten unter 30 cm kriegt es einfach die Kurve vor Wänden nicht mehr, auch dann nicht, wenn der ProMini deutlich vom Gas geht.
Ursprüglich hatte ich die fertigen Billigst-IR-Hindernissensoren (gibts an Ebay spottbillig in fertig) drin, aber die schaffen auch nur 10-15cm. De nehm ich später vllt. als Bodensensoren, damit das Auto auch ner Linie folgen kann, mal sehn.
Rabenauge:
Es handelt sich um ein ehemals ferngesteuertes Spielzeugauto in 1:24, was ich autonomisieren will.
...
Dann fallen die mir bekannten Sensoren auch aus. Wenn das Ding nur alle halbe Sekunde Bescheid bekommt, dass ein Hindernis im Weg ist, ist es meistens zu spät.
Mach das Auto langsamer oder sorge dafür, dass es keine Hindernisse gibt
Langsamer bringts nicht.
Das Problem ist, dass ne Achsschenkellenkung nun mal nicht auf dem Punkt drehen kann, und nur bei Fahrt überhaupt funktioniert.
Selbst bei langsamster Geschwindigkeit ist es unter 20cm Abstand nicht zu schaffen, die Kurve noch zu bekommen.
Das sind so die Probleme, die man hat, wenn man mal von den üblichen Robotern (mein NiboBee hat da mal gar keine Schwierigkeiten) auf was anderes ausweicht.
Schafft so ein Tempo nicht (ich glaub, der läuft max. ungefähr 0.5m/s), und kann eben auch aufm Punkt drehen.
Das Auto soll eventuell noch nen winziges Funkmodul bekommen (falls es rein passt), dann kann ich in die originale Fernbedienung den Sender bauen, das Ding draussen spazierenfahren lassen und dann einfach mal die Fernbedienung weglegen "mach mal alleine weiter...." 8)
Anspruchsvoll eigentlich nur, weil es tierisch eng ist in dem Ding und ich auch die Optik nich versauen will.
Mich interessiert dieses Thema auch, deshalb mal folgende Frage: bisher war noch nicht die Rede von einem Radarsensor, ist so ein Teil etwa ungeeignet?
DerLehmi:
Mich interessiert dieses Thema auch, deshalb mal folgende Frage: bisher war noch nicht die Rede von einem Radarsensor, ist so ein Teil etwa ungeeignet?
Wenn es so ein Teil in der passenden Größe gäbe (gibt es die?), wäre das sicher geeignet.
DerLehmi:
Kann das passende Video nicht mehr auf Anhieb finden, da hat Jemand den RS1650 verwendet...
Das dürfte für Rabenauge zu groß sein. Aber für mich könnte das passen. Danke!
Gruß
Gregor
Nachtrag: Der oben verlinkte Sensor ist ohne zusätzliche Beschaltung anscheinend nicht brauchbar. Ein Ding mit zusätzlicher Beschaltung wäre z. B. das hier
Viel zu gross.
Käms darauf nicht an, würde ich zwei HC-Sr04 in die Front bauen und das Thema wär vom Tisch.
Oder die tollen GP2Yxyz. Da hätte man die Entfernung auch noch....
Ausserdem kenne ich niemanden (und nen paar Leute kenn ich schon) der bisher so nen Radar-Sensor am laufen hat, wahrscheinlich sind die schlicht unbrauchbar, müsste man sich mal ansehen, was die alles erfassen (und wichtiger: was nicht).
Grade im Outdoor-Bereich (und für drinnen brauch ich kein Radar, das ist Humbug) ist so manches anders.
Wenn es auf 10m jeden Mist als "da ist was" ohne weitere Information meldet, sind die Dinger nutzlos.
Warum das Ding so "unbekannt" ist verstehe ich auch nicht so ganz. Bei dem Video was ich meine hat jemand die Ergebnisse am Bildschirm als Art Sonar visualisiert, zur Demonstration Finger und Stift näher gehalten.
DerLehmi:
Warum das Ding so "unbekannt" ist verstehe ich auch nicht so ganz. Bei dem Video was ich meine hat jemand die Ergebnisse am Bildschirm als Art Sonar visualisiert, zur Demonstration Finger und Stift näher gehalten.
Könntest Du das Video nochmal suchen? Die Möglichkeiten, die ein Radar bieten könnte, interessieren mich sehr.