PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : kamera an bot



Delfin
05.02.2008, 15:43
hi
ich hab eine frage zu einem projekt, dass ich vlt. in einem monat anfangen möchte zu realisieren.
:?
Da es mein erstes projekt wird, soll der bot sich nur auf drei rädern bewegen können. Der Bot soll evtl. eine Kamera bekommen, dessen aktuelle bilder er ans notebook senden soll. Daher habe ich jetzt die frage, ob es sinvoll ist den bot die bilder der kamera auswerten zu lassen.

Oder ist es sinvoller, wenn er sich mit sensoren orientiert(IR, Ultraschall, etc.)
und die bilder direkt an den pc schickt.

thx im voraus für alle posts und infos oder fragen. :cheesy:

Feratu
05.02.2008, 17:28
HI
Also wenn es dein erster Bot ist empfiehlt es sich ihn so einfach wie möglich zu gestalten.
Heist nimm am besten Ultraschall sensoren oder IR oder was halt grad da ist

Wenn da soweit funktioniert kannst ja immernoch eine Kamera einbauen

mfg

Delfin
05.02.2008, 18:30
mich interessiert nur, ich weiß ja noch nicht genau wie ich ihn baue, ob es sinvoll ist den roboter die bilder auswerten zu lassen, oder ist das überflüssig
es ist mehr eine theoretische frage :)
trotzdem thx das sich mal jemand meldet :)

Pascal
05.02.2008, 19:55
Sinnvoll ist es sicherlich, aber für den Anfang doch ein klein wenig zu schwer, denke ich.
Bau am besten erstmal etwas Asuro-ähnliches, dabei lernst du auch schon eine ganze Menge.

PS.: In diesem Unterforum postet man eigentlich fertige Projekte.

Delfin
05.02.2008, 20:01
hi
oke trotzdem mal danke :) ich melde mich dann, falls ich es schaffen sollte und frag bis dahin in einem andern forum nach :)
na ja
mfg rob

Pascal
05.02.2008, 20:09
Bist jetzt beleidigt, weil wir dir nicht gesagt haben, dass du sofort mit Orientierung anhand von Bildverarbeitung anfangen sollst?!
Falls du konkrete Fragen hast, kannst du dich ja wieder melden ;-)

Delfin
06.02.2008, 15:56
@Pascal :wink:
mein fehler war, dass ich es hier gepostet habe, jetzt kommt es natürlich rüber, als ob ich meinen ersten bot direkt so voll stopfen möchte. ich habe mich wohl etwas im unterforum vergriffen. naja ich lerne hoffentlich aus fehlern :)
mfg und schwammt drüber
rob

Black Scorpion
06.02.2008, 18:16
Servus,

ich schließ mich der Mehrheit an. Versuch erst mal ne Orientierung zur Auswertung mit Ultraschall oder Infrarot. Und dann arbeite dich weiter vor bis zur Bildverarbeitung. Meiner Meinung nach sollte man für sowas auch schnelle Prozessoren oder Boads ala ICP oder SSV DILNET PC.

Wir haben in unserer Techniker Abschlussarbeit einen Roboter konstruiert der über Funk die Bilder von der Kamera zum Grafikeingang des PCs schickt. Dieses Bild konnte dann in einer GUI angezeigt werden. Auswertung hätte aber viel Zeit und Einarbeitung gekostet. Den Videostream einzubinden war nicht das Problem, gibt fertigen Code óder auch fertige Komponenten dazu im Internet. Aber dann eine Bildbearbeitung durchzuführen wurde dann schwierig. Schwierig aber nicht unmöglich.

Wünsche viel Erfolg

sechsrad
06.02.2008, 18:39
kauf dir eine funkfarbcam, kostet ca 45 euro. super klein. sehr gute bilder.
kommt mit einem 9v-batterieblock aus auf dem roboter.
bilder kannste am pc einlesen.
nimmst dann das gfa32-basic-freeware oder purebasic(79 euro) und kannst dann dein programm schreiben zum bilder auswerten.
du fängst an, einen roten ball auszuwerten . ist nicht schwer und geht auch relativ schnell mit einem 1megaherz-rechner.

musst natürlich noch eine rs232 funkverbindung haben zum roboter, damit der pc ihn sagen kann, wohin er fahren soll. die gibt es hier bei robotik-hardware.

macht mehr spass als wenn man diese ultra und ir-sensoren proggen muss. der roboter ist durch diese dinger sehr eingeschränkt im reaktionsverhalten.
also fang mit dem kleinkram erst gar nicht an. wenn du so etwas ins auge gefasst hast. der erste gedanke ist der beste.

wenn du diesen vorschlag als projekt verwirklichs, haste lange was vom roboter steuern usw. das proggen und ausprobieren macht dann grossen spass.

es gibt mehrere roboter , die mit diesen kleinkram durch die gegend irren.
der spielspass ist da schnell vorbei. siehe rp6.
kurve rechts-kurve links-bumper-rückwärts-drehen-vorwärts-festgefahren.

wenn du den robbi vom pc aus steuern kannst mit einer einfachen bildauswertung , das ist etwas.

lass dich nicht beirren, nach dem motto, das bildauswerten soll der robby machen, diese aussage gilt nur mit der cmucam2 für 190 euro.
ohne diese camera es es hier und wo anders noch kein hobbyst wie wir es sind , gelungen den robby mit der cam autark fahren zu lassen.

also lass es den pc machen.

meiner wird auch mit der cam und vom pc ausgewertet.

ich progge seit 4 monaten mit dem gfa32-basis-deutsch(freeware), nach dem ich mehrere programmiersprachen durchgescheckt habe. besitze sogar das purebasic(gekauft) und blitzsbasic(gekauft) , bin dann auf dieses gfa32-basic umgestiegen weil es eine gewisse programmierfreiheit garantiert, gerade auch für roboter.

zb habe ich ein megaboard am pc-seriell anschlossen und es steuert meinen visuellen roboter auf dem bildschirm, den ich in gfabasic geproggt habe. auch sehr interessant.

daniel.weber
08.02.2008, 14:05
was soll "gfa32-basis-deutsch" sein? hab mal google bemüht aber nichts gefunden, könntest du ein paar Infos dazu posten.

Danke

[edit]
sorry war zu schnell hab jetzt doch einiges dazu gefunden, werde mir das mal durchlesen.

Monday
08.02.2008, 17:52
Hallo,

beim Thema Bilderkennung bin ich momentan auch stehengeblieben. Allerdings habe ich geplant die Auswertung auf dem Roboter zu machen. Dazu benutze ich eine Gameboy-Kamera und einen SRAM zum zwischenspeichern der Bilder. Die Bilder zu machen funktioniert auch schon ganz gut (je nach Helligkeit, sprich Belichtungsdauert, bekomme ich bis zu 11fps).
Nur weis ich absolut noch gar nicht wie ich mit der Auswertung anfangen soll. Hast du vielleicht ein Beispiel-Code um einen roten Ball zu erkennen, ich mir mal eine Vorstellung zum Vorgehen machen kann? (Ich denke das würde auch die anderen interessieren ;-))

Gruß
Monday

sechsrad
08.02.2008, 19:16
....Dazu benutze ich eine Gameboy-Kamera und einen SRAM zum zwischenspeichern der Bilder. ......

die gameboy-cam kann nur bilder aufnehmen wenn der roboter stehenbleibt, weil die bildpunkte für jeden augenblick festgehalten werten, wo sich gerade die bilddarstellung befindet. das heisst du bekommst kein standbild eines objektes sondern nur schlieren und streifen.

ich frage von der mitte aus jeden pixel ab nach der farbe und werte ihn aus. natürlich nicht das ganze bild, sondern nur 256x256pixel.
da ich auch asm einbinden kann in gfa-basic tüftele ich mich so durch.

ich wüsste nicht welch ein prozessor ich nehmen müsste auf dem roboter um das gleiche resultat zu erzielen wie ein pc.

darum ist die gameboycam auch nicht für die aufgabe eines liniensensors geeignet.

sechsrad
08.02.2008, 19:17
http://gfabasic32.googlepages.com/

gfa32basic runterladen und im doc-ordner stehen die bücher bzw die bescheibung für das programm.

Delfin
09.02.2008, 08:26
hi
danke für die posts.
@sechsrad ich wusste, dass jemand noch eine andere meinung hat. :)
Aber ich muss immer auf die Preise schauen, weil meine Eltern nicht so begeistert wären, wenn ich in einen ersten bot so viel investiere.
Das mit der Farbkamera würde in Ordnung gehen.
Was ist gfa32-basic-freeware? Eine Basic-Umgebung? Ich progge seit einiger zeit c/c++ und Assembler.

mfg rob

Delfin
09.02.2008, 09:15
hi
vorhin ist mir erst aufgefallen, dass ich mich zwischen geplanten und fertigen Projekten verklickt habe. Jetzt bin ich im falschen Unterforum gelandet.
Dass ich das nicht vorher gesehen habe ist mir jetzt irgendwie peinlich.
](*,) 8-[

nomad
09.02.2008, 09:48
hi,
fuer object-tracking oder color-tracking mit einer webcam
google nach RoboRealm.
sind *.exe files und eine API-vorhanden plus beispiele.
nomad

Delfin
09.02.2008, 10:25
@nomad RoboRealm scheint freeware zu sein, aber was leistet es?
ich habe mit google den link http://freeware.filehungry.com/german/product/windows_software/multimedia_&_graphics/video_editors/roborealm
gefunden.
Aber nachdem ich mir alles durchgelesen habe: Eignet sich RoboRealm auch für die Steuerung eines Roboters?

malthy
09.02.2008, 18:09
Hallo Delfin!

Ich habe gerade einen Roboter gebaut, der - zumindest vom Ansatz - ähnliches macht, was auch Deiner können soll. Deshalb kann auch ich vielleicht ein paar Anmerkungen machen. Nach meiner Erfahrung lässt sich so ein relativ großes Projekt in mehrere Teilprobleme zergliedern. Für sich genommen ist jedes dieser Teilprobleme vielleicht gar nicht so komplex. Aber Du musst Dir im Klaren sein, dass alles zusammen im Ergebnis doch nicht ganz so einfach ist. Deshalb fand ich den Tipp, der hier ja schon anklang, ganz gut, erstmal eine einfache Plattform zu bauen, die man aber von Anfang an so auslegt, dass sie gut zu erweitern ist. So bin ich auch an die Sache rangegangen.
Ansonsten solltest Du Dir überlegen, welche Art von Orientierung Dein Roboter überhaupt können soll. Was sich per Bildverarbeitung recht gut machen lässt, ist, das Fahrzeug eine Linie verfolgen zu lassen. Ich weiß, klingt erstmal nicht so spannend, aber daran kann man schon sehr viel lernen – zumindest habe ich daran viel gelernt. Die Schwierigkeit der Bildverarbeitung hängt sehr stark davon ab, was Du für eine Entwicklungsumgebung im Hintergrund hast. In meinem Falle ist das Matlab, und da gibt es zum Beispiel eine Image Processing Toolbox, die viele komplexe Algorithmen fertig bietet – man kann sich also dann auf die eigentlich Anwendung konzentrieren.
Ein paar Infos zu meinem System findest Du auf dem unten verlinkten Blog.

Gruß,
Malte

Delfin
10.02.2008, 11:24
hi malthy
Ich habe mir mal den ersten Teil deiner Doku durchgelesen: Interessant, ich habe fast die selbe Idee. Allerdings werde ich versuchen meinen Bot so autonom wie möglich laufen zu lassen(falls möglich :) ).

Genau wie du wollte ich auch alles gliedern, da ich noch nicht sehr erfahren bin in Mechanik und Elektronik.
1. Drei Räder mit 2 Servos
2. Sensoren
(3. Kamera)

Tolle Seite, toller Bot!
mfg rob

mare_crisium
17.02.2008, 11:38
malthy,

einen sehr interessanten Blog hast Du auf Deiner Website aufgebaut!

Für die erhöhten Entfernungswerte in der Messreihe vom 14. Nov. 2007 schlage ich folgende Erklärung vor: Die rechtwinkligen Ecken wirken wie Eckreflektoren. Durch das Wegstück zwischen der linken und der rechten Wand wird die gemessene Entfernung verlängert. Das ist leider ein unvermeidlicher Messeffekt.

mare_crisium

malthy
17.02.2008, 16:29
Hallo mare_crisium,

Danke für Dein Interesse an meinem Blog! Ja, Deine Erklärung klingt plausibel. Ich hatte verschiedene Probleme mit dem Echolot, das beschriebene war nur eines. Ich bekomme z. B. auch falsche Entfernungswerte, wenn ich in zu spitzem Winkel zur Wand messe. Ich denke, dieses liegt daran, dass dann ein Großteil des Schalls nicht mehr in Richtung Empfänger reflektiert wird. Alles in allem war ich etwas ernüchtert von der Ultraschalltechnik.

Gruß,
Malte

mare_crisium
19.02.2008, 17:20
Malthy,

Dein Linienfolger-Algorithmus funktioniert ja (in dieser Umgebung) ganz prima. Was hältst Du davon, den Schwerpunkt auch in y-Richtung zu berechnen und damit die Fahrgeschwindigkeit zu regeln? Damit meine ich, dass die Fahrt umso schneller sein könnte, je höher der y-Schwerpunkt ist.

Ciao,

mare_crisium

malthy
20.02.2008, 13:53
Moin!

Ja, das habe ich auch schon probiert. Ich berechne sowieso beide Koordinaten (x und y) des COG. Die Verwendung der y-Koordiante in dem von Dir beschriebenen Sinne funktioniert in gewissen Grenzen recht gut - allerdings wurde das System dadurch insgesamt nicht merklich schneller. Der Vorteil liegt aber immerhin darin, dass bei "agressiven" Parkours (scharfe Kurven) die Gefahr minimiert wird, dass das Vehikel die Spur verliert.
Am Rande: sind wir hier mittlerweile etwas Offtopic? Wenn Du noch Interesse an einer weiteren Diskussion hast, könnten wir uns im Sinne der Allgemeinheit auch hierher zurückziehen:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=36851 (mein ursprüngliches Posting zum Vehikel) oder auf meinem Blog posten.

Viele Grüße,
Malte