PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Roboter (Mindstorms) + Funk Kamera/WebCam



pinguin
01.05.2005, 01:22
Hallo Leute,

hoffe das ich im richtigen Bereich Poste.

Bin auf der suche nach einer Funk Kamera (möglichst klein), der Rechner Teil sollte am besten am USB angeschlossen werden (ist aber nicht zwingend notwendig). Kann natürlich auch eine WebCam sein wie z.B. die von Logitech.

http://www.logitech.com/index.cfm/support/products/details/US/EN,CRID=1795,CONTENTID=6360

Ich finde sie aber relativ groß. Sie muss ja schließlich auf dem RCX platz nehmen. Wäre also für andere Vorschläge dankbar.

Dann brauche ich eine Bilderkennunksoftware. Also eigentlich soll die Software nur Farben erkennen. Ich habe da auch schon was gefunden.

http://camcom.hitchhiker.at/?s=Beschreibung&l=g

Ich würde gerne wissen wie das Funktioniert da ich es viel lieber eventuell selber schreiben würde. Ich habe bereits das Programm oder besser gesagt die vom dem Programmierer offenen Klassen und Methoden ihn mein kleines VB Projekt eingebunden. Es funktioniert, Farben werden erkannt.
Würde aber wie schon gesagt die Funktionsweise am besten mit dem Quellcode verstehen wollen. Daher meine bitte um Hilfe oder vielleicht um alternativen.

Dann bräuchte ich noch einen Greifer, da habe ich an den von Exploration Mars gedacht. Falls ihr vielleicht andere Möglichkeiten sieht würde ich mich über Tipps oder Anregungen freuen.

Zum Schluss wollte ich noch die am RCX befindliche Irda Schnittstelle durch ein Funk Modul ersetzen. Da habe ich an das SRD Modul ER400TRS gedacht. Das wird auch hier im Forum empfohlen. Denke dass das ein gute alternative ist.

Eigentlich wäre da noch was, ich will noch eine einfach Ladestation für das RCX realisieren dazu komme ich aber am besten später zu.

Denke nämlich dass das fürs erste reicht. Würde mich wirklich über eure Meinungen/Tipps sehr freuen.


gruss
pinguin

Andun
02.05.2005, 13:30
Hi

Also ich hab dieses Jahr bei Jugend Forscht mit nem Freund teilgenommen und auch mit nem RCX. Aber was wir gemacht haben war folgendes:

Wir haben meinen alten Palm genommen (Palm OS 4.0) und haben den dann über die IrDA mit dem RCX kommunizieren lassen. Siehe dazu:

http://www.harbaum.org/till/palm/pbrick/

pinguin
02.05.2005, 14:35
@Andun

danke erst mal für deine Antwort.
An so was habe ich auch gedacht denke aber dass die Kommunikation per Funk besser geeignet ist für mein Projekt. Das Projekt wird (denke ich) immer weiter entwickelt und mit einer Funk Verbindung ist man flexibel genug.
Aber danke für deinen Tipp.

Ich habe vorkurzem eine besser Funk Kamera gefunden. Schaut euch die mal an, denke dass ich sie nehmen werde. Hier der Link

http://www.ztv.cc/product_show.asp?id=96

Bei ebay gibt es sie schon für 90€ damit kann ich leben.

Würde mich über weitere Antworten sehr freuen.

gruss
pinguin

NumberFive
02.05.2005, 20:38
Hallo,

leider kann ich dir bei der Farb erkennung nicht helfen den ich
habe mich mit kanten erkennung beschäftigt um formen zu finden im bild
das eingzig was ich mit farben gemacht habe ist den hellsten punkt finden.

Bei der kannten erkenunng sind farben egal.

Wenn du es selbst programmieren willst sollsten du es erstmal schafen ein bild zu bekommen. dann den Rest.

Wie Schnell muß das ganze sein ?

Pass auf mit den Funk cam's bin von meiner entäuscht was die bild qualltät an geht. das recht einfach nicht für eine saubere erkennung.
Und die braucht ein licht wahrsin.

Gruß

pinguin
02.05.2005, 22:08
@NumberFive

Hallo,


leider kann ich dir bei der Farb erkennung nicht helfen den ich
habe mich mit kanten erkennung beschäftigt um formen zu finden im bild
das eingzig was ich mit farben gemacht habe ist den hellsten punkt finden.
Ok, verstehe.


Wenn du es selbst programmieren willst sollsten du es erstmal schafen ein bild zu bekommen. dann den Rest.

Das Bild habe ich schon sowohl unter Delphi wie auch unter Visual Basic.
Muss mir nur noch überlegen womit ich weiter machen soll.


Wie Schnell muß das ganze sein ?
Am besten so schnell wie möglich.


Pass auf mit den Funk cam's bin von meiner entäuscht was die bild qualltät an geht. das recht einfach nicht für eine saubere erkennung.
Und die braucht ein licht wahrsin.

Was für ein Modell hast du denn? Wie ich schon vorhin gesagt habe werde ich mir die hier kaufen -> http://www.ztv.cc/product_show.asp?id=96

Was hälst du denn von der?

gruss
pinguin

maze2k
12.05.2005, 22:29
Hi,

ich arbeite im Moment an der Uni Heidelberg an einem Roboter (Mindstorms Invention System 2.0 + Vision Command), der Objekte nach Farben sortiert.
Ich habe die Standard Lego Vision Command Kamera (Logitech Quickcam Web) und ich muss sagen die ist echt besch****.

Ich würde dir auf alle Fälle zu einer Funk-Kamera raten.
Das Gewicht und die Zugkraft des Kabels ist ziemlich unberechenbar und ändert sich jedes mal. Außerdem muss man das Kabel bei Drehungen o.ä. immer hochheben. Also auf jeden Fall Funk. Die Cam sollte dann auch schnell auf Veränderungen der Lichtverhältnisse reagieren sowie ein gutes Bild, vor allem von den Farben, liefern.

Ok. Als Programmiersprache für den RCX habe ich lejos ( lejos.sourceforge.net )verwendet. Das ist eine Java-Sprache für den Bot und funktioniert prima. Außerdem unterstützt lejos den (USB-) Tower von Mindstorms sowie die Vision Command Funktionalität, d.h. man kann direkt auf die Kamera zugreifen. Das Bild wird in bis zu 36 Regionen aufgeteilt, von denen man jeweils einen Durchschnitts-Farbwert bekommt. (Es gibt auch eine Basic-Farberkennung, aber die ist nicht sooo toll)

Für die Farberkennung habe ich mir eine Klasse RGB gebaut, die mir aus den Integer-Werten, die die Kamera via lejos liefert RGB-Werte erstellt. So kann ich leicht zwischen verschiedenen Farben unterscheiden.

Falls ich dir noch weiter helfen kann, gerne :)

Viele Grüße,
Matthias

menior
13.05.2005, 22:15
das mit der bildaufteilung in kleine regionen werde ich mal ausprobieren, bin gerade am tüfteln in sachen bilderkennung

pinguin
23.05.2005, 21:54
Danke erstmal für die Antworten.

@maze2k

Ich habe mir die folgende Funk Kamera gekauft.
http://www.minielektronik.de/usb_empfaenger_minispion.htm
Einfach super, bisher keine Probleme.

Mit Java komme ich irgendwie nicht klar habe mich für Delphi entschieden und verwende die oben angegebene dll. Wenn es nicht Java wäre würde ich auch deine Variante Probieren. Gibt es auch von den Farberkennungs- Klassen dll Varianten?

@menior

was macht das Programm? Welche Sprache? Würde mich mal interessieren.
Hast du vielleicht paar Links zu solchen Themen?

gruss
pinguin

maze2k
23.05.2005, 22:03
Hi,
die Kamera sieht ganz gut aus, wenn man das Geld dafür hat (180,20 €)...

Mit Delphi habe ich früher programmiert. Für Graphische Fenster-Anwendungen ist das auch sehr gut geeignet. Leider ist Delphi eine der langsamsten Sprachen. Vor allem bei der Robotik ist der Zeitfaktor einer der entscheidensten. Daher tendiere ich eher zu Java und C. Aber je nach Anwendung lässt sich das Ganze aber auch mit Delphi realisieren.

Außerdem ist Delphi sehr teuer, zumindest wenn man es nur privat nutzt... Das ist auch einer der Gründe, warum ich vom Delphi-Zug abgesprungen bin.

Wenn du mal Bilder von deinem Roboter hast, kannst du sie ja mal hier posten.

Hier (http://www.maze2k.de/poster.pdf) ist ein Poster für meinen Roboter, den ich übrigens morgen ein paar Professoren und Mitarbeitern der Uni Heidelberg vorstellen werde :)
Es enthält auch Bilder. Es kann auch sein, dass sich das Poster noch ändert (für Verbesserungsvorschläge bin ich sehr dankbar!).

Eventuell werde ich den Roboter in den nächsten Tagen unter "Eigene Projekte" eintragen und noch etwas genauer vorstellen.

Viele Grüße,
Matthias

pinguin
23.05.2005, 22:26
@maze2k

Sehr schön, das Einziege was noch fehlt ist meine Funk Kamera. Aber das hast du ja auch schon erwähnt.

Ich weiß Delphi ist nicht besonders schnell aber dafür ist die dll in C++ geschrieben worden. Ich würde gerne selber eine schreiben (also einen Farberkennungsalgorithmus) bin aber noch nicht dazu gekommen. Wenig Zeit und noch zu wenig Erfahrungen mit der Programmierung. Habe zwar ein paar Ideen wie ich es realisieren könnte aber wie gesagt... vielleicht werde ich es noch tun.

Ich sitze übrigens auch an so einem ähnlichen Projekt. Farbige Objekte erkennen, greifen und in Sicherheit bringen. Als Zusatz soll noch eine Ladestation realisiert werden + ein Fernsteuerung Möglichkeit per Joystick.

Zurzeit habe ich ein Problem mit dem Bewegungsalgorithmus. Nach welchen Kriterien Bewegt sich den dein Bot (also bis er das Objekt entdeckt hat)?

Ah ja als greifarm verwende ich einen Nachbau des Greifarms von Exploration Mars. Ein Bild von unserem Projekt ist noch nicht gemacht worden, werde es aber bei Gelegenheit tun.

Ah ja ... als Firmware verwende ich legos.

Hoffe dass wir im Kontakt bleiben!

gruss
pinguin

pinguin
23.05.2005, 22:31
@maze2k

Ah ja noch was, die Irda Schnittstelle habe ich durch ein Funkmodul ersetzt.

ER400TRS

gruss
pinguin

maze2k
23.05.2005, 22:40
Ja das mit der IR Schnittstelle ist blöd. Du hast das einfach ersetzt, d.h. umgebaut? Cool. Ich hab nix umgebaut, ich hab einfach den Tower direkt dahinter montiert (siehe Link zum Poster)

Mein Bot bewegt sich im Moment nur per Zufall nach links oder rechts und nach vorn. (Ich habe die gesuchten Objekte auf der einen Seite der "Spielfläche" und die Ablagefläche auf der anderen Seite positioniert)

maze2k
23.05.2005, 23:34
Unter diesem Link (http://www.maze2k.de/poster2.pdf) gibt es eine neue Version des Posters. (Der PDF-Reader von http://www.foxitsoftware.com ist um weiten schneller als Adobe Acrobat Reader)

menior
24.05.2005, 17:32
#pingu probier das mal ein bisschen aus, das mit der performance von delphi ist nicht so wichtig. gerade was die erkennung angeht, wirst du vermutlich mit sequenzen besser arbeiten. das bild max. 1/30s, die kamera max. 1/1s. das bild justieren, farbtemperaturen ausgleichen benötigt licht profile oder dynamische anpassungen, die du dir erstellen kannst. meine bildverarbeitung funktioniert relativ gut, mit etwas ki, sowie drei mikrofonen, dann reagiert er wie der r2d2. ich will die kamera noch als routenbuilder benutzen, dazu benötige ich allerdings noch einen guten tracer bzw. ki tracer, der die umgebung kategorisieren kann. der roboter sollte allerdings einen guten kollisionsschutz haben, denn soviele lookup tables, die man bei normalen lichtverhältnissen braucht um ähnliche objekte zu differenzieren gibt es nicht.