Soccerbot

Die Elektronik des c't-Bot
noxon

Beitrag von noxon » 31 Jan 2006, 15:14

Du greifst ja schon zu den Sternen.

Die professionellen Fußballbots haben ja gerade erst das Passspiel gelernt. Aber du hast recht. Das ist richtig cool, wenn man den Bot's bei soetwas zusieht. Die Umspielen ganz gezielt ihre Gegener und sehen auch wenn irgendwo ein Bot mit direkten Blick auf das Tor freisteht.

Allerdings sehen diese Bots auch alle noch nicht aus der Ego-Perspektive, sondern holen sich ihre Informationen über eine Draufsicht auf das Spielfeld. Dann ist es natürlich einfach die Positionen der Spieler zu ermitteln.

Was ich bei den neusten Bots auch cool finde ist, dass sie den Ball ganz normal über den Boden spielen können, ihn aber auch im hohem Bogen durch die Luft befördern können. Das können sie mittlerweile schon so gut, dass sie damit schon den Torwart überspielen und den Ball direkt in's Tor befördern.

Die Torwarte haben allerdings auch hinzugelernt und beherschen jetzt auch Kopfbälle. Die fahren einfach unter den Auftreffpunkt des Balls und köpfen ihn über das Tor hinweg.

Das ist auch schon ne recht gute Leistung, wenn man bedenkt, dass man die Höhe des Balls nur sehr schlecht bestimmen kann, wenn man das Feld nur von oben sieht.

eax
Friends of Robby
Friends of Robby
Beiträge: 786
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 31 Jan 2006, 15:46

Ja mal langsam...
Ich wollte "nur", dass der Bot einen Ball einfangen kann ;)
Wenn der Pass nicht genau kommt, dann macht er halt nichts. Oder meinst du, das Erkennen, wann der Ball da ist, lässt sich nicht machen? Wir können ja rote Bälle nehmen :)
Timo -- Meine Beiträge sind unter CC-BY-SA freigegeben

j.a.n.s

Beitrag von j.a.n.s » 31 Jan 2006, 19:38

Wenn man farbige Bälle, Tore und Markierungen nimmt, lässt sich dies sehr einfach realisieren.

Am besten wäre es natürlich, wenn die Bälle z.B. rot, die Tore blau und das Feld grün wären. Dann ließen sich alle benötigten Parameter sehr gut Filtern und verarbeiten ohne allzu viel Rechenleistung für die Bilderkennung zu verbrauchen. RGB-Farbfilter (hier reicht eine reine Kanaltrennung) und Schwellwertfilter - wahrscheinlich nicht einmal Gradient und Linear Operators zur Ballerkennung.

Mit gutem Assembler sollte das sogar mit 16 MHz drin sein - dann aber nicht mehr sehr viel mehr. Allerdings sollten gerade für solche Berechnungen eine kleine Erweiterung mit einem DSP ausreichen. Vielleicht ein 56k von Motorolla, das gibt es einige recht günstige, die auch gar nicht so schwer zu beschalten wären.

Aber gerade bei diesen Dingen sollten wir abwarten, was uns die c't mit der Kameraerweiterung bietet.

eax
Friends of Robby
Friends of Robby
Beiträge: 786
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 31 Jan 2006, 20:27

Ist die Frage, ob der Speicher dafür reicht, oder?
Timo -- Meine Beiträge sind unter CC-BY-SA freigegeben

j.a.n.s

Beitrag von j.a.n.s » 31 Jan 2006, 20:33

Ja und nein, wenn man in memory arbeitet sollte es kein Problem sein, man darf allerdings keine besonders hohe Auflösung erwarten, bräuchte man bei farbigen Artefakten auch nicht.

eax
Friends of Robby
Friends of Robby
Beiträge: 786
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 31 Jan 2006, 21:05

Hm, wie bekommt man denn das Bild von der Kamera? Kennt sich da jemand genauer mit aus? Ich meine muss ich das erstmal komplett im RAM haben, um mir die Farbinfos rauszuziehen?
Timo -- Meine Beiträge sind unter CC-BY-SA freigegeben

VDX
Friends of Johnny-5
Friends of Johnny-5
Beiträge: 320
Registriert: 26 Jan 2006, 22:43
Wohnort: Großkrotzenburg (Main-Kinzig-Kreis)

Beitrag von VDX » 31 Jan 2006, 21:21

Hi eax,

... für eine eigene Bildverarbeitung/Mustererkennung muß das gesamte Bild in den Speicher - 'intelligente' Kameras, die Objekte selbständig erkennen und nur die Koordinaten zurückgeben, laufen immer mit einem eigenen Computer/Signalprozessor (auch z.B. Video-Funk-Brücke und PC).

Mit einigen Tricks und Filtern kan man zwar versuchen, die Bildinformation möglichst gering zu halten, so z.B. nur Farbsprünge oder bewegte Kanten/Konturen übertragen o.ä., trotzdem ist der erforderliche Bildspeicher immer PixelX*PixelY*Byte groß ...

Die Frage ist, wieviele Bildpixel notwendig sind, um sinnvolle Informationen zu erhalten - so hat eine optische Maus z.B. eine 16*16-Pixel-'Kamera' drin, die auf die Bewegungsrichtung und die Geschwindigkeit von Pixeln im Bild optimiert ist ...

Ciao, Viktor

eax
Friends of Robby
Friends of Robby
Beiträge: 786
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 31 Jan 2006, 22:07

V2 hat geschrieben: ... für eine eigene Bildverarbeitung/Mustererkennung muß das gesamte Bild in den Speicher - 'intelligente' Kameras, die Objekte selbständig erkennen und nur die Koordinaten zurückgeben, laufen immer mit einem eigenen Computer/Signalprozessor (auch z.B. Video-Funk-Brücke und PC).
[...]
Danke, dann war mein Gedanke da ja schon gar nicht so falsch ;)
V2 hat geschrieben: Mit einigen Tricks und Filtern kan man zwar versuchen, die Bildinformation möglichst gering zu halten, so z.B. nur Farbsprünge oder bewegte Kanten/Konturen übertragen o.ä., trotzdem ist der erforderliche Bildspeicher immer PixelX*PixelY*Byte groß ...
Und ich denke, dafür ist der Speicher des Controllers zu klein, oder?

Gruß Timo
Timo -- Meine Beiträge sind unter CC-BY-SA freigegeben

VDX
Friends of Johnny-5
Friends of Johnny-5
Beiträge: 320
Registriert: 26 Jan 2006, 22:43
Wohnort: Großkrotzenburg (Main-Kinzig-Kreis)

Beitrag von VDX » 01 Feb 2006, 07:27

Hi Timo,

... ja, mit 2KB kommt man da nicht weit :(

Selbst mit 64KB ist's fast ein Ding der Unmöglichkeit (stell dir mal eine Bildverarbeitung auf einem C64 vor :lol: )

Andererseits gibt's eine Gemeinschaft von 'Minimalisten', die sich immer wieder mal auf Underground-Messen treffen und den überraschten Gästen zeigen, was man auf einem 64KB-Kern oder auch Handy/PDA so alles hinbekommt :wink:

Meist geht's da um farbenfrohe 3D-Grafiken (->Digi-Graffities) oder auch 3D-Spiele á la Quake auf dem Handy u.s.w.

Ich schätze mal, daß auf einem PDA schon einiges laufen könnte - mein Acer hat einen 230 MHz-Prozessor, 55 MB Hauptspeicher (Halbe-Halbe Programm- und Daten-, 13.1 bzw. 23.4 MB noch frei ), ein 1.84MB Flash-Rom und eine 256MB SD-RAM-Card eingesteckt ...

Ciao, Viktor

eax
Friends of Robby
Friends of Robby
Beiträge: 786
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 01 Feb 2006, 16:29

Hi Viktor,

ja mit PDA denke ich auch, dass das machbar wäre. Deshalb sollte man vielleicht darauf setzen die Daten weiterzugeben, z.B. per Bluetooth. Ob es dann erst ein PC empfängt und verarbeitet oder später ein PDA wäre dann kein Unterschied.

Gruß Timo
Timo -- Meine Beiträge sind unter CC-BY-SA freigegeben

plusminus

Beitrag von plusminus » 25 Jun 2006, 20:35

Morgen,

gibts eigentlich weiterführende Ideen zur Abschussvorrichtung und Soccerbot ?

Gruß, Nico

manolli

Beitrag von manolli » 26 Jun 2006, 19:22

Die Profis arbeiten meiner Meinung nach mit Spannmechanismen. Diese Aufbauten sind aus mechanischer Sicht nicht ganz ohne. Ich habe mit ein paar Schülern dieses Jahr auch einen Bot mit Schussvorrichtung gebaut. Wir haben einfach eine schnell drehende Rolle von oben auf den Ball gepresst. Der Ausleger wurde von einem Servo bewegt und das ging relativ gut. Allerdings war das Objekt ein mit etwas Sand gefüllter Tennisball.

Hier gibts ein Video: http://www.m-john.de/files/misc/robot05/aufgabe3-1.avi

Wer mehr will, ich habe irgendwo noch eine CAD-Zeichnung.

plusminus

Beitrag von plusminus » 26 Jun 2006, 19:51

Ich glaube die Uni-Studis haben das mit E-Magneten gelöst, habe da immer ne spule an der vorrichtung gesehen...

manolli

Beitrag von manolli » 26 Jun 2006, 20:07

Kann schon sein, aber von wegen Spule selber wickeln, das ist nicht ganz so einfach. Es ist vor allem auch eine Frage der Stromversorung.
Bei
gibt es einen Kickermagneten, allerdings zu einem stolzen Preis.

yustbeyourself

Beschaffung

Beitrag von yustbeyourself » 28 Jun 2006, 11:19

Also kleiner tipp von mir zum thema beschaffung von teilen zu 99% hilft euch die seite http://www.wlw.de weiter speziel zu Thema kick-Magnet findet ihr warscheinlich unter dem suchbegriff "Elektromagnete" hilfreiche links zu Firmen.

Soweit ich das aber gesehen habe kommen die nicht mit der normalen bot Batteriespannung aus die meineswissens bei 5V liegt. Aber das soll euch nicht davon abhalten magnete mit einer betriebsspannung von über 5V zu verwenden da gibts ganz gute möglichkeiten z.B. mit dem MAX1522 näheres dazu unter http://www.maxim-ic.com der kann bis zu 100V Ausgangsspannung und bis zu einem Ausgangsstom von 1A (aber vorsicht das heist nicht 100V und 1A)
:!: Musterbestellung beachten!

Hoffe das hilft euch weiter denn ich kann leider nicht mit praktischen erfahrungen aufwarten da ich selber noch nicht im besitz eines Bot´s bin!

Antworten