PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auswertung stereovisionärer Daten! oder: Stereovision mit LT



Fisch-Ei
27.04.2005, 16:00
Einigen unter euch ist das Thema Stereovision sicher ein Begriff. Mein aktuelles Projekt soll dieses System nutzen. Doch bin ich nun bei der theoretischen Ausarbeitung auf den Konflikt gestoßen, dass ein gewöhnlicher Mikrocontroller niemals in der Lage ist, mindestens je 5 Bilder in der Sekunde in Echtzeit zu verarbeiten.

Daher hatte ich die Idee, die Bilddaten der Kameras über Funk/Bluetooth/WLan an einen Laptop zu schicken. Dieser besitzt die nötige Software und Rechenpower, diese Daten auszuwerten. Anschließend werden entsprechende Steuerungsbefehle an den Roboter zurück gescickt! Das System nutzt quasi nur die Rechenleistung des Laptops, die ein handelsüblicher µC nicht aufbringen kann. Was haltet ihr von der Idee? Wäre das praktisch überhaupt realisierbar?

Die Software für die Auswertung habe ich übrigens mit Delphi bereits entwickelt... :-$

Mal hören, was ihr von der Idee haltet!

Felix G
27.04.2005, 16:20
Einigen unter euch ist das Thema Stereovision sicher ein Begriff.aber vielen sicherlich nicht...

Wenn man schon Begriffe nutzt von denen man weiss, daß die meisten keine Ahnung haben was es ist
sollte man zumindest eine kurze Erklärung oder einen Link dazu posten.

Vor allem wenn es sich dabei um Begriffe handelt, bei denen Google keine konkreten Informationen ausspuckt

Andun
27.04.2005, 16:26
Also meine Vermutung zu dem Begriff:

1 Kamera kann ja nur 2 Dimensionen abbilden, also könnte bei geschickter Kombination der Daten aus 2 Kameras eigentlihc 3 Dimensionale Bilder erstellen. Das ist aber meiner Meinung nahc sehr komplex.

Fisch-Ei
27.04.2005, 16:29
Du hast recht! Sorry!

Bei Stereovision handelt es sich um einen Algorithmus, aus 2 Kameras ein dreidimensionales Bild der Umgebung zu erschaffen. Das Prinzip findet man beim Menschen wieder. Der Mensch sieht nur mithilfe beider Augen dreidimensional. Mit der dreidimensional erstellten Karte kann der Roboter sich so ohne weitere Sensorik autonom im unbekannten Raum fortbewegen. Die einzige Sensorik sind zwei Kameras (z.B. CMOS). So ungefähr verstanden...? :-k

Fisch-Ei
27.04.2005, 16:32
Also meine Vermutung zu dem Begriff:

1 Kamera kann ja nur 2 Dimensionen abbilden, also könnte bei geschickter Kombination der Daten aus 2 Kameras eigentlihc 3 Dimensionale Bilder erstellen. Das ist aber meiner Meinung nahc sehr komplex.

hab mich mit der theorie bisher einigermaßen ausgiebig beschäftigt! die software funktioniert soweit mit kleinen macken. doch ist momentan der rechenaufwand eben zu immens, dass sowas wenn nur auf mindestens 50 µC's in Echtzeit laufen würde! Daher die Suche nach Lösungen!

Felix G
27.04.2005, 17:11
Geht doch... jetzt wissen auch alle wovon die Rede ist ;)
Das Prinzip ist sicher den meisten hier bekannt, nur die Bezeichnung Stereovision eben nicht.


@Problem
Die meisten Mikrocontroller sind natürlich nicht in der Lage diese Datenflut in angemessener Zeit zu verarbeiten.
Ein ARM könnte vielleicht gerade noch damit fertig werden,
das sind sehr leistungsfähige 32-Bit µCs von denen man einige mit über 100MHz takten kann.


edit:
@Theorie
kannst du mir irgendwelche Internetseiten oder sonstige Literatur zu dem Thema empfehlen?
Ich habe zwar nicht vor sowas zu realisieren, finde das Thema an sich aber sehr interessant und würde mich da gern mal einlesen.

Fisch-Ei
27.04.2005, 22:24
hab hier mal zwei pdf's hochgeladen:

http://home.arcor.de/lisa_abi05/robotik/stereovision1.pdf
http://home.arcor.de/lisa_abi05/robotik/stereovision2.pdf


...aber ich würd nun gern nochmal zum thema zurück kommen. ich hörte letztens von einem chip, der speziell für diese anwendung konzipiert wurde...? also die frage nun: muss ich unbedingt mit einem sperrigen laptop arbeiten, oder könnte ich auch ein system bauen?

Felix G
27.04.2005, 23:01
Die zweite .pdf Datei ist sehr interessant was die Umsetzung angeht...

da war ja das Ziel diesen Algorithmus auf einem ASIC mit ~120k Gattern zu implementieren.
Ok, ein ASIC ist in deinem Fall sicherlich nicht die richtige Wahl (es sei denn du willst das in Serie produzieren ;)),
aber stattdessen könntest du doch ein FPGA verwenden. (sind leider nicht gerade billig).

Fisch-Ei
28.04.2005, 11:18
also als werdender student bin ich finanziell knapp bei kasse. schon allein die kameras kostet mir ein vermögen!

was ist überhaupt ein FPGA? und in welchem kostenaufwand bewegt sich so etwas?

Felix G
28.04.2005, 13:23
FPGA heisst Field Programmable Gate Array
Das sind programmierbare Logikbausteine.

Im Prinzip hat man da einen Haufen (teilweise >100k) Gatter zur Verfügung, die man fast beliebig "verdrahten" kann.
(So ein Ding ist fast wie eine Kiste voll mit Logik-ICs)

Man muss den Algorithmus nur in VHDL (Hardwarebeschreibungssprache) schreiben und in einen FPGA laden.

Hier (http://de.wikipedia.org/wiki/FPGA) gibt es noch mehr Infos zu den Dingern


Leider sind FPGAs ziemlich teuer...
bei Reichelt z.B. kriegt man eins mit 20k Gattern für knapp 50€

millioneer
28.04.2005, 13:42
Man muss ja nicht unbedingt einen Laptop nehmen, es reicht sicherlich auch ein PC/104 (oder so ähnlich) Kleinrechner, der hat alles an Bord was man so braucht, ist aber nur 10x10 cm gross. Viele sind mit einfachen 5V zu versorgen. Die Kosten sind zwar nicht allzu knapp, aber man kann das auch bei ebay kaufen. guckst du hier: www.kontron.de

Das spart auch die Datenübertragung, da man die Kamera (USB-Kamera?) direkt anschliessen kann.

Fisch-Ei
28.04.2005, 14:02
von diesen kleinrechnern höre ich zum ersten mal. wusste nicht, dass die im handel zu bekommen sind. aber man lernt ja nie aus... :P

also sind, wenn ich richtig verstanden habe, die kleinrechner eine abgespeckte version eines handelsüblichen pc's? eben nur im miniformat?
...also so etwas beispielsweise(?):
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&category=41995&item=6764364268&rd=1&ssPageName=WD2V#ebayphotohosting

habe übrigens auch überlegt, einen handhielt (e.g.: palm,...) einzusetzen!

millioneer
28.04.2005, 15:28
Also ob das Dingens was du da bei ebay gesehen hast wirklich ein PC ist würde ich bisschen bezweifeln, das sieht eher wie eine Extension aus.

PC/104 beschreibt glaub ich erstmal nur das Format von ungefähr 10x10 cm und die Steckerbelegung. Die Hersteller müssen sich dann an die Spec von PC/104 halten, um es als solches bezeichnen zu können.

So einen Handhelden hab ich auch noch rumliegen, aber da kannst du glaub ich auch ein paar Mega's nehmen, die sich den Job aufteilen, das sollte genauso schnell sein.
Wenn schon Handheld dann ein neueren mit WindowsCE, da kann man halbwegs normal Software für entwickeln mit bekannten MS-Tools und muss nicht irgendwelche exotischen Compiler von den sonstigen Herstellern benutzen.

Fisch-Ei
28.04.2005, 16:09
also da mir ein neuerer handheld zu teuer wird, bleibe ich wohl beim laptop, denn mehrere atmegas möchte ich in mein robi nicht einbauen. ich möchte in der hinsicht etwas flexibel bleiben!

aber danke soweit für eure anregungen!