bei mir wars reiner zufall, hatte was zu fotodioden gesucht, aber nix gefunden-außer diese website und hier gehts ja richtig ab
Beiträge von Lukas__04
-
-
Ich weiß nicht, was "schnelle" Laser sein sollen... die meisten haben so 300.000 Km/sec.
Wenn das bei dir nicht geklappt hat, hast du dich entweder auf eine mäßige Library gestützt oder die Module, die du einsetzt, arbeiten mit einem langsamen Verfahren mit irgendeiner Frequenzerkennung oder sowas. Ein einfacher Laserstrahl mit einer Empfangsdiode am anderen Ende sollte schnell genug sein. Störungen durch Umgebungslicht müsste man bautechnisch verhindern.
Da du aber überall die Mennekens im Weg hast, kann die Lichtschranke nur ganz tief am Boden sein. Wenn der Ball fliegt, fliegt er halt - da kannst du eh kaum was machen. Kopfbälle sind beim Tischkicker wohl eher die Ausnahme. Das kann die Kamera aber auch nicht lösen, denn die sieht die Flughöhe auch nicht. (Mit einer zweiten Kamera ginge das allerdings auch.)
Trotzdem ist die Kameralösung am Ende sicher die praktikabelste. Alles andere ist extrem aufwändig.
Wenns zu langsam ist, kannst du vielleicht das Spielfeld in mehrere Abschnitte teilen und mit 4, 8, 12 oder 16 Kameras arbeiten.
Und für die Verarbeitung kannst du ja auch was Schnelleres bemühen als einen Pi, falls das dann einen Zugewinn bringt. (32 Kameras und 32 20-Core-Xeons sollten reichen )
Hier hat jemand 1000 fps aus einer Pi-Kamera geholt - bei 640x480 (da steht 640x80 - das ist wohl ein Tippfehler). 640x480 reicht locker, da hast du bei 1,2 m Tischlänge ne Auflösung unter 2 mm - es würde auch die Hälfte oder weniger genügen, was die Verarbeitung beschleunigt, weil du bei halber Auflösung nur noch 1/4 der Datenmenge hast. Vielleicht gibt es auch für PC generell schnellere Kameras als für den Pi, wenn du nicht zwingend einen Pi einsetzen willst.
Was für Antriebe willst du eigentlich einsetzen? Mir kämen da Closed Loop Schrittmotore in den Sinn. Denen kannst du die gewünschte Position geben und dann machen die. Fire and forget sozussagen.
Mit den schnellen LAsern meinte ich welche, die schnell messen, also so um die 150-200 Herz, sonst kann der Ball durchschlupfen. das ist mir zu beginn mal passiert. Die lichtschranken würden dann tatsächlich weiter unten sein, aber ja, wenn der ball fliegt, kann ich da leider nix machen. ich denke auch, dass das (erst mal) zu vernachlässigen ist.
Meine momentanen Motoren sind auch Schrittmotoren, (https://www.reichelt.de/schrittmotor-h…ASABEgLwxvD_BwE). -
Ok, danke für die ganze Hilfe.
Für mich hört sich das mit den Kamera(s) am einfachsten/gewinnbingendsten an.
(Das imt dem Radar geht nicht, wie gnom schon sagte, da kaum was ankommen würde. An GPS dachte tatsächlich auch schon mal, aber das würde es nicht mal in dem Messbereich geben, den ich benötige...)
-
Aber warum denkt ihr, dass die Infrarottransistoren nicht funktionieren werden? Sind die nicht schnell genug oder werden die den ball nicht erkennen?
-
Mal ganz abgesehen davon, das der IR Ball für einen "normalen" Tischkicker mit seinen fast 7,5 cm Durchmesser mir doch ziemlich groß erscheint, geht es bei dem Spiel doch bestimmt ziemlich rau zu, so das der Ball trotz des stolzen Preises, vermutlich nicht all zu lange durchhalten wird.
ja, mit diesem wollte ich das ganze zu beginn nur simulieren um ein funktionierendes Programmm zu entwickeln und dasss dann auf den kleineren ball anzupassen. dieser sollte dann nach glichem vorbild gebaut werden
Es gibt noch andere Methoden, um den Ball zu erkennen - aber die werden aufwändig.
Du könntest ein vollflächiges Touchdisplay nehmen - der Ball müsste dann allerdings eine Metallschicht haben, wenn ich mich nicht irre. Das wird aber teuer.
Du könntest die Position mit einer Art Laserlichtschrankengitter bestimmen.
Gemessen an der Auflösung von 1,6 cm bei 10 m/s und 600 fps müsstest du für gleiche Auflösung alle 1,6 cm eine Lichtschranke bauen. Man kann das aber auch optimieren mit Drehspiegeln oder strichförmigen Lichtschranken und CCD-Sensorleisten. Aber das ist wohl recht aufwändig.
Du könntest tausende Reedkontakte in die Tischfläche einbauen - in einer Art Matrixschaltung - und einen magnetischen Ball verwenden. Die Kontakte sind sehr schnell, Bruchteile von Millisekunden.
Oder das ganze mit Hall-Sensoren - die sind wahrscheinlich noch empfindlicher und vielleicht genügen weniger Sensoren, wenn du die Werteirgendwie interpolierst.
daran hatte ich zu beginn auch schon gedacht, aber da ist dann das Problem, dass der Ball auch einige zeit des spieles in der luft verbringt. dann hätte ich null chance.
Bei dem Laserlichtschrankengitter hatte ich das Problem, das die Lase in einer zu niedrigen frequenz gemessen haben und der ball einfach durch ist, ohne bemerkt zu werden. Gibt es besonders schnelle Laser? ich konnte leider keine ffinden.
Die Idee mit den reedkontakten gefällt mir, auch wenn das wohl sehr aufwendig wird. Erkennen die denn ball dann auch, wenn er 1-2cm über sie hinwegfliegt?
Die Idee mit den Magneten klingt gut - die Umsetzung im Detail dürfte sehr aufwändig werden. Ist der Ball magnetisch, wäre es ein großes Problem, dass der Magnet ja in jeder Ausrichtung in der Nähe des Sensors detektiert werden müsste. Ich fürchte klappt nicht.
Wenn die Kugel nur magnetisch wäre und ein vorhandenes Magnetfeld verfälscht, könnte es eventuell klappen. Du müsstest also Magneten in der Nähe der Sensoren so platzieren, dass sich der Wert ändert, wenn die Kugel in der Nähe ist. Dazu müsstest Du analoge Hallsensoren verwenden. Wird aber auch ziemlich aufwändig.
Ich würde auch versuchen eine Lösung mit der Kamera anzustreben und dafür mit Vorberechnung/Vorabschätzung arbeiten. Du könntest erste Berechnungen schon machen, bevor der Schlag des Gegners überhaupt erfolgt ist. Ich glaube KI könnte bei der "Berechnung" ein vielversprechender Ansatz sein.
Wie meinst du, dass die Kugel "nur" magnetisch ist? also dasss sie auf die magnete wirkt und es dadurch zu einer Änderung des Magnetfeldes kommt? Und währe ein Raspberry dann noch in der Lage diese ganzen daten zu verarbeiten und möglicherweise auch die bewegung weiterzu berechenen?
-
ohhh ok. Mit einer Kamera habe ichs schon probiert und hochgerechnet. da bräuchte ich an die 600 fps. Ich habs schon mit ner PIXY-Cam probiert. die hatte 60fps und bei 1m/s hatte die dann akzeptable messwerte. leider ist der ball 10x so schnell...
Als ich dann um den Berech 600fps geschaut habe konnte ich kaum was brauchbares finden und wenns dann mal was war hat die gleich 1k gekostet. so viel buget hab ich leider dann doch nicht.
Muss ich mir aber mal genauer anschauen-dnke für den Tipp.
und kennst du zufällig ne kamera die dafür geeignet ist? Ich hätte dann roten ball auf grünem grund, sollte dann ja passen
-
Hi, und vielen Dank für die schnelle Antwort.
Zu meinem Projekt:
Ich versuche einen normalen Tischkicker so umzubauen, dass die eine seite selbstständig spielt, also von Motoren gesteuert wird. Um das zu schaffen muss ich ja den Ball tracken und zu jeder zeit wissen wo er sich befindet. Dort dachte ich auch zuerst an laserschranken, aber diese arbeiteten zu langsam- haben eine zu niedrige messfrequenz. (Der Ball bewgt sich mit ca. 10m/s.) Diese sollten ein 2D Koordinatensystem "erzeugen" und dann weiß ich eben, dass der Ball jetzt bei H12 oder B8 ist.
dann dachte ich an Ultraschallsensoren, bei denen war aber das Problem, dass der Schall an dem ball abgelenkt wird und gar keine Info ankommt...
DA dachte ich mir, dass ich das GAnze doch umdrehen könnte: Jetzt sendet der Ball Infrarotlicht aus (940 nm) und die fotofiode soll dieses licht nun wahrnehmen. DAs Ziel ist dann, viele Fotodioden aufzustellen, die den Ball nur sehen können, wenn er direkt über ihnen ist und so die Schnittstellen der oben genannten Lasersensoren zu simulieren
Ich hoffe diese Infos helfen dir und nochmals danke für die Rückmeldung
Hier noch die Links:
Der Ball:https://www.robotshop.com/de/de/robocup-…ter-fuball.html
Die Diode: https://www.reichelt.de/silizium-pin-f…tct=pos_0&nbc=1
-
Hallo zusammen,
Ich habe folgendes Problem: ich möchte mit einer Fotodiode erkennen, ob sich ein Ball an dieser Vorbeibeweget oder nicht. Dieser Ball sendet Infrarotlicht aus. Ich habe schon viel im Internet gesucht, finde aber weder wie ich die Diode mit dem Raspberry (4A) verbinden kann, noch was für ein Programm man dafür dann letztendlich auch schreiben muss. Ich hoffe jemand hier kann mir helfen oder helfende Links schicken. Vielen Dank schon einmal für alle Antworten