Hallo, Dies ist mein erster Beitrag in diesem Forum, also hoffe ich, dass es das richtige Forum ist :) Also es ist folgende Ausgangssituation: In meiner Fakultät haben wir eine Carrera Bahn, deren Autos wir schon vor einigen Semestern mit Mikrokontrollern ausgestattet haben. Um Unfälle mit den Autos zu vermeiden habe ich vor, im Rahmen meiner Masterarbeit, eine Entfernungsmessung zu bauen. Die Idee ist es, dies über Stereobildverarbeitung zu tun. Ich habe bis jetzt 2 verschiedene Sensoren Ausprobiert: - ov7670 - AU-85B (das Modul gibts bei pollin) Mein Problem ist hauptsächlich bei der Ansteuerung der Module. Also beim ov7670 ist das problem, dass sich die Bildrate nicht erhöhen lässt, indem man die Auflösung verringert. Bei dem Modul AU-85B ist die zwar möglich, aber wenn ich versuche die Auflösung zu verringern, liefert mir der Sensor keine Daten mehr :/ Aber generell hätte ich erstmal die Frage, ob mir jemand ein Kameramodul empfehlen kann. Ich brauche etwa eine Auflösung von 100x50 pixeln mit etwa 100 Hz Graustufen reichen aus. Na, ich hoffe das war jetzt nicht zu viel auf einmal, aber ich bin dankbar für alle Vorschläge.
Kommen die Kameras in die Autos rein? Oder ist das mehr so eine Art Kreuzungsüberwachung. Wenn Du nicht weiterkommst, hast Du zwei Möglichkeiten, die Auflösung zu erhöhen und die Rasterung zu tunneln: 1. Ein zweites Kamerasystem von weiter weg oder mit anderer Optik, dass Du eine 1:1,41 Abbildung erhälst. Kameras zudem im 45 Grad Winkel 2. Zeitliche Auflösung senken und die DPI steigern durch Verwackeln. (Unwuchtmotor, Frequenzregelung, XY-Korrektur gemäß Motorposition) Eine einfachere Möglichkeit, genau zumessen, ist Ultraschall.
Danke schonmal für die Antwort :) Die Kameras kommen in das Auto rein. An eine Ausrichtung von 45° habe ich auch schon gedacht, kann ich aber erst ausprobieren, wenn ich mal ein sinnvolles Bild vom Sensor erhalte ;) Der Pollin Sensor liefert momentan Bilder mit 1600x1200 mit 12 Bildern/s. Also Wackeln habe ich im Auto mehr als genug, wenn es fährt, denn da die Bahnsegmente der Carrerabahn in China hergestellt werden, sind die ziemlich Uneben :) (Notfalls kann man eine Unwucht in die Reifen einbauen :D ) Beschleunigungssensoren sind sowieso vorgesehen, damit könnte man das Wackeln zurückrechnen. Was meinst du mit XY-Korrektur anhand der Motorposition? Also vom Wissenschaftlichen Gedanken bei der Masterarbeit wäre der Ansatz mit der hohen Auflösung super, das werde ich mal weiter verfolgen. Beim Ultraschall gibt es das Problem, dass vorgesehen ist, dass 10 Autos gleichzeitig auf der Bahn fahren (an manchen Stellen hat die Bahn 6 Spuren). Ich bin immer davon ausgegangen, dass die Autos sich stören würden, besonders, wenn sie nebeneinander fahren. Das weitere Problem war, glaube ich, dass die Sensoren nicht genügend Messungen Vornehmen (Die Autos sind mit bis zu 10 m/s unterwegs). Eine weitere optische Lösung wäre es, 2 Zeilensensoren zu verwenden, und die mit 1000/s auszulesen, allerdings wollte ich es vermeiden eine eigene Optik zu bauen. Trotzdem vielen Dank für die Antwort, die Idee finde ich sehr interessant.
Es gibt ein e Rheie neuer ultrakleiner IR Abstandsensoren z.b. VCNL4000 so einer wurde ganz gut in eine Carerra Auto passen. Die reichweite von ca 200 mm must noch brauchbar sein. Ultraschal wird hier nichst bringen da sich die Sensoren massiv stören wurden. Ich hate mal auf einem roboter 2 Ultraschalsensoren in ca 160° winkel eingebaut, und die haben sich massiv gestört wenn der eine etwas in kurzer Distanz angepingt hat. Was mich aber sehr interessieren wurde, was für ein Controller sollte die für die Arbeit benutzt werden? in so ein Carrera Auto passt ja nicht so viel rein...
Ah, das ist auch eine gute Idee, aber leider brauchen die Autos etwa 1m zum bremsen, deswegen sollten die Sensoren etwa 2m Reichweite haben. Vermutlich würden diese sich auch gegenseitig stören, wenn 2 oder 3 Autos nebeneinander fahren. Die Carrera Autos sind im Maßstab 1/24, da passt also einiges rein. Momentan sind 4 xmega drin. Für die Bildverarbeitung würde ich natürlich einen DSP nehmen, oder alles direkt in einem FPGA implementieren.
theHL-mod: wie hast du denn bei der au-85 die aufloesung versucht zu verringern...? hast du das subsampling der kamera verwendet ? oder benutzt du die window funktion ? oder beides ? zu dem problem das keine daten mehr geliefert werden... es gibt einen linebuffer den man explizit aktivieren muss... (reg 0x2210 -> [5]: Line Buffer usage.) diesen linebuffer braucht man wenn die output clock nicht das doppelte der imager clock ist... hast du das mal probiert ? vielleicht braucht die kamera diesen linebuffer beim subsampling... aber nur eine vermutung... ich hab zwar noch nichts gemacht mit der kamera aber das datenblatt habe ich ein wenig gelesen... lg....
Cool, vielen Dank, den Line buffer habe ich noch nicht ausprobiert. Die Kamera hat 3 Möglichkeiten für sub sampling allerdings nur eine, die direkt auf dem Bildsensor arbeitet. Ansonsten habe ich Subsampling und windowing ausprobiert. Beim Linebuffer dachte ich, dass der automatisch aktiviert ist, weil beim Default value laut datasheet das Bit auf 1 ist (Zumindest dachte ich das) Wenn ich später im Labor bin probier ich das aber auf jeden Fall mal aus :)
Hallo theHL-mod, da du ja die Ansteuerung des AU-85B Moduls schon gewältigt hast, wäre es möglich einige Details zu nenen (verwendeter µC etc.) Ein Thread zur Verwendung des Moduls läuft gerade hier: Beitrag "pollin kamera au-85" Grüße Smarti
ja stimmt du hast recht... als default steht beim reg 0x2210 = 0x20 das ist ja genau das bit... nur auf seite 20 steht: The use of this buffer must be explicitly enabled. etwas widerspruechlich... aber meine kamera ist heute gekommen (bzw. liegt bereits in der packstation) werd ich dann auch mal ein paar tests machen am wochenende... lg...
Also momentan lese ich noch mit dem xmega aus rotwerd, aber später werde ich einen DSP verwenden. Ich habe noch einen ARM7 und diverse Hyperstone DSPs hier rumliegen, die von mir noch getestet werden wollen ;) Den Anderen Thread werde ich mir mal genauer anschauen, danke.
Nettes Projekt, meinst nicht du willst das noch ein wenig ausbauen? Wie wäre es damit: http://www.heise.de/newsticker/meldung/Panorama-im-Flug-1360554.html Sorry, ist n bissle off topic, aber mit dem Pollinmodul könnte das günstig machbar sein ;) Viel Erfolg bei deinem Projekt
Also ich habe letzte Woche mein Testprogramm nochmal angeschaut, dabei ist mir aufgefallen, dass ich das Register 0x2210 schon auf den Wert 0x20 gesetzt habe. Wirklich schade, dass es die Firma nicht mehr gibt, sonst würde ich dort einfach nachfragen. Hast du denn bei deinem eigenen Projekt auch vor die Auflösung zu verändern? Bei der Steuerung mit dem Xmega nehme ich diesen nur zur Konfiguration über i2c, Bilder lese ich dabei nicht aus, ich zähle nur anhand der Interrupts, wie groß das Bild ist. Am Oszilloskop schaue ich mir diese interruptleitungen auch an (VSYNC, HSYNC und Pixel clock), daher sehe ich, wenn kein Bild mehr kommt :)
am wochenende hab ich das mal soweit geloetet und angefangen mit der ansteuerung... der line mode ist immer aktiv stimmt schade. scheint so das die info wo im datenblatt nicht ganz aktuell ist. mist hab ich anderen thread geantwortet... dann hier noch mal kurz. also ich stell 250a ein. starte die aufnahme und hsync und vsync tut sich was. ich zaehl nachher auch mal die irqs mal schauen was bei mir rauskommt. aenderst du eigentlich den pll ? was ich nicht ganz verstehe ist ich geh zum test mit 8 mhz rein (mainclock) output clock ist 2,6 mhz das kann ich noch nachvollziehen. internal clock muesste dann 4 mhz sein wenn ich das mal per hand durchrechne. verstehe ich aber nicht ganz weil im datenblatt steht das die output clock > der mainclock sein soll. oder ein fehler im datenblatt ? gibt ja noch am ende ein divider der durch 2 teilt fuer die internal clock aber der ist eigentlich aus...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.