2016-12-09 7 views
4

Ich baue ein sehr aufregendes Projekt, und ich erstelle diesen Beitrag, um neue, frische und verrückte Ideen zu bekommen.Wie berechnet man, wo eine Kugel auf eine Wand trifft (eine echte Wand und eine Kugel)

Ich habe eine große Mauer, und ich schieße darauf. Ich muss die genauen X- und Y-Koordinaten berechnen, auf die das Projektil einwirkt.

Es gibt mehrere Herausforderungen:

  • Nicht alle Kugeln die gleiche Masse oder Geschwindigkeit.
  • Ich verwende möglicherweise mehr als eine Waffe, also können zwei Kugeln in einem kürzeren Intervall treffen.
  • Ich kann ein Video an der Wand spielen, so dass eine Kinnect-Lese-Ganzheit verwirrt werden kann.
  • Wenn möglich, möchte ich keine Verbesserungen an den Waffen oder Kugeln hinzufügen.
  • Ich habe vielleicht keine vollständige Kontrolle über die Art der Wand; normale Ziegel und Farbe ist bevorzugt.

Mit allem, was gesagt wird, bin ich voll zu Optionen geöffnet. Erstere sind keine Zwänge und ich bin bereit, den Ansatz zu ändern und von vorne anzufangen.

Meine bisherige Vorgehensweise besteht darin, drei Bewegungssensoren einzurichten und die Position basierend auf der Aufprallwelle zu triangulieren. Bisher war es ungenau und benötigt viel Tuning.

Wenn Sie meinen Ansatz verbessern möchten, einen Sensor oder eine Software vorzuschlagen, die ich vermisse, seien Sie bitte willkommen, aber wie gesagt, ich bin bereit, es zu beginnen.

Dieses Projekt abgeschlossen sein wird, so dass, wenn Ihre Lösung groß ist, Sie zu etwas sehr cool beitragen werden, und ich kann Ihnen ein Bild davon oder sogar laden Sie ein, mit mir ;-)

+1

Das erscheint SEHR kompliziert ... Ich denke, dass Ihr Ansatz zu ungenau ist, weil das Messen der Wellen sehr schwierig sein kann. Ich denke, dass der einzige Weg, um eine ganze Wand zu überwachen, ist durch optische Inspektion, aber für jetzt vergessen Sie das Arduino (bleiben Sie an einem PC, wenn Sie alles bekommen können arbeiten Sie können zu einer Himbeere oder sogar ein Arduino fällig). Hören Sie sich den Ton an, um den Schuss zu entdecken, und beobachten Sie den Bildschirm, bis Sie feststellen, dass sich ein Punkt stark verändert. Dies geschieht einen Bruchteil einer Sekunde später und so wird Ihre Erkennung einfacher.Wenn das Geschoss keine Spuren hinterlässt, kann es hilfreich sein, einen weicheren – frarugi87

+1

Bildschirm hinzuzufügen (z. B. kann ein Gewebeschirm leichtere Kugeln abfangen - wie die mit Druckluftpistolen geschossenen - und so eine größere Markierung machen) – frarugi87

Antwort

2

Gebrauch zu schießen senden eine High-Speed-IR-Kamera und verwenden Sie es auf einem flacher abgeflachten Bild Flares zu erkennen (Verwenden Sie OpenCV oder andere Bibliothek konvertieren 24-Bit-RGB usw. -> schwarz & weißes Bild).

Nehmen Sie das Sichtfeld der Kamera und berechnen Sie den X & Y-Versatz durch Triangulation basierend auf dem Abstand zur Wand und der Translation vom Mittelpunkt des Kamerabildes. Wenn Sie eine Matrix-Bibliothek benötigen, verwenden Sie die GLM-Bibliothek - sie ist schnell und enthält alle Funktionen, die Sie benötigen.

Viel Glück!

+0

Was passiert? ein sonniger Tag und die Mauer ist schwarz und du bist mitten in der Wüste. Wird die Wand nicht heiß und die IR-Kamera wird dadurch etwas verwirrt? –

+0

Es gibt tausend Möglichkeiten, wie das System Anforderungen, die noch nicht berücksichtigt wurden, nicht erreicht. Wenn der Dynamikbereich der Kamera angepasst werden muss, tun Sie dies. Wenn die Rückseite der Wand einen Strahlungsschutz benötigt, dann installieren Sie einen! Ich könnte Probleme den ganzen Tag finden, aber ich würde lieber nach Lösungen suchen :) – Monza

2

Dies ist nur eine Idee. Es klingt vielleicht etwas kompliziert, aber es könnte funktionieren.

So ziemlich, was Sie tun müssen, ist ein Laser-Array mit einem Sensor am Ende. Hier ist was ich meine.

enter image description here

Lassen Sie uns jetzt sagen, dass Sie viel mehr Laser und Sensoren haben.

Danach können Sie einen Fotozellen/Fotowiderstand/lichtabhängigen Widerstand verwenden, um zu sehen, wann und welcher Laser defekt ist. Danach können Sie mit 1 Laser auf der X-Achse und 1 und der Y-Achse das Geschoss genau lokalisieren.

Jetzt wird das kompliziert, wenn es viele Sensoren gibt.Ein kurzer Trick, den ich habe, besteht darin, die Fotozelle direkt mit einem Analog-Digital-Wandler zu verbinden und am Ende mit einem Array von Schieberegistern (alias IO-Expander) des Arduino zu verbinden. So können wir wissen, welcher Sensor ausgelöst wurde.

Diese Methode berücksichtigt viele Ihrer Einschränkungen. Es kann eine große oder kleine Kugel unabhängig von der Geschwindigkeit erkennen (obwohl ein schneller Arduino helfen könnte). Es kann Dinge erkennen, selbst wenn ein Video an der Wand ist. Wenn es richtig kalibriert wird, wird das Laserlicht die Fotozelle ziemlich blenden und wenn der Laserstrahl geschnitten wird, wenn auch nur geringfügig, wird sich die Lichtintensität ziemlich verringern, was darauf hinweist, dass eine Kugel an diesem Punkt passierte. Kein Geschoss/Waffenmod benötigt. Wenn Sie diese auf einem Rack-Typ einer "mobilen" Konstruktion montieren, kann diese an vielen Wandtypen verwendet werden und Sie müssen nur beide Achsen neu ausrichten, bevor Sie sie erneut verwenden.

Das klingt vielleicht kompliziert, aber das ist nur eine Idee/Vorschlag. Wenn irgendjemand irgendwelche Vorschläge für das Analog zu IO Ding hat, bitte kommentiere es.

+0

Das Problem hier ist die Anzahl der Scanzeilen benötigt und die Zeit, um das Aufzählungszeichen zu erkennen. Zum Beispiel ist eine typische Kugel etwa 1 cm breit. Um solche kleinen Objekte zu finden, müssten die Lücken kleiner sein. Sie würden leicht Tausende Laser/Sensoren für eine bescheidene Wand benötigen. Bei einer typischen Handfeuerwaffe passiert das Geschoss das Gitter in etwa 30 Mikrosekunden. Das ist wirklich nicht viel Zeit, um so viele Sensoren zu scannen. –

1

Haben Sie eine Wärmebildkamera in Betracht gezogen? Ich habe vor einer Weile ein Video von this gesehen, in dem ein Typ auf ein Ziel schießt und seine Aufnahmen mit einer Wärmebildkamera aufnimmt. Sobald die Kugeln das Ziel treffen, erscheint nach einer Minute ein Hitzepunkt für eine kurze Zeit. Die Art und Weise, wie ich vorgehen würde, ist, die Kamera in der bestmöglichen Entfernung von der Wand zu platzieren und eine erste Aufnahme des Zielbereichs zu erhalten. Dann wird jede abgefeuerte Kugel eine kurze Wärmeunregelmäßigkeit an der Wand verursachen, die den Aufschlagpunkt darstellt.

1
Verwandte Themen