Hadmut Danisch

Ansichten eines Informatikers

Geniale Kameraidee: Wurfkamera

Hadmut
27.4.2014 14:30

Schon seit einiger Zeit wird ja über die Wurf-Panorama-Kamera berichtet.

Die Idee an sich find ich genial und hab mich schon drüber geärgert, dass ich da nicht drauf gekommen bin. Es geht um eine Kugel mit vielen Kameras, die man einfach hochwirft und wieder auffängt, und die im höchsten Punkt mit allen Kameras gleichzeitig ein Foto aufnimmt, um das dann zu einem Panorama zusammenzustitchen. Man braucht kein Stativ, keine Vorbereitung, nicht viel Zeit, man wirft einfach das Ding hoch, fängt’s wieder auf und das war’s.

Nur eins wollte mir bisher nicht in die Birne. In der Presse wurde immer berichtet, dass das Ding Beschleunigungssensoren habe und damit erkennt, wann es am höchsten Punkt ist. Das hat mir physikalisch überhaupt nicht eingeleutet, weil das nicht geht. Man kann mittels Beschleunigungssensoren nicht feststellen, dass man jetzt am höchsten Punkt ist und es wieder abwärts geht. Das mag der Laie (und der Journalist) zwar glauben, weil das ja gefühlt erst rauf und dann wieder runtergeht, und man das in der Achterbahn ja auch fühlt, wenn man am höchsten Punkt ist, aber in der Achterbahn wird man von den Schienen rauf- und runtergedrückt. Ein hochgeworfener Gegenstand befindet sich aber physikalisch gesehen in einem ständigen Fall, als einer durch Gravitation gleichmäßig beschleunigten Abwärtsbewegung, überlagert durch die konstante Bewegung bei Abwurf und abgebremst durch Luftwiderstand. Aus Sicht des Wurfgegenstandes befindert sich der Gegenstand (von der Abbremsung durch den Luftwiderstand abgesehen) ab Abwurf im normalen freien Fall, es gibt daher keinen ausgezeichneten Punkt der Flugbahn, der aus Sicht des Gegenstandes so etwas wie eine Umkehr oder Richtungsänderung bewirkt, auch wenn das für den Außenstehenden so aussieht. Bewegung ist relativ. Das Bezugssystem des Gegenstandes ist die Abwurfgeschwindigkeit und aus diesem fällt er durch Einfluss der Schwerkraft kontinuierlich und ohne dass es da zwischendurch einen Knacks gäbe, heraus. Leuchtete mir überhaupt nicht ein, wie sie das zustandebringen wollten, den obersten Punkt der Bahn durch Beschleunigungssensoren zu messen.

Ein Video mit dem Erfinder bringt die Lösung des Rätsels: Im Gegensatz zu dem, was in der Presse so stand, messen sie tatsächlich nicht, was nicht zu messen ist. Sie messen stattdessen die Wurfbeschleunigung und errechnen daraus, wie hoch die Wurfgeschwindigkeit ist und nach welcher Zeit der höchste Punkt der Bahn erreicht sein müsste. Und nach dieser errechneten Zeit lösen sie aus.

Das erklärt’s.

Heißt aber auch, dass sie sich verrechnen, falls man die Kamera nicht genau senkrecht nach oben wirft, es sei denn freilich, sie bestimmen auch den Winkel zwischen Gravitation und Wurfbeschleunigung.


19 Kommentare (RSS-Feed)

yasar
27.4.2014 15:36
Kommentarlink

Solange die Belichtungszeit kurz genug ist, sollte es fast egal sein, ob man den höchsten Punkte genau trifft oder nur knapp daneben liegt.


Hadmut
27.4.2014 15:59
Kommentarlink

@yasar: Geht ja auch um den optimalen Überblick.


hirni
27.4.2014 16:16
Kommentarlink

mit Gyroskopen kann man aber durchaus dir Wurf-Richtung erkennen.
d.h. richtig programmiert – sollte der Scheitelpunkt auch bei schiefen Wuerfen berechenbar sein …


Hadmut
27.4.2014 16:27
Kommentarlink

@hirni: Wie soll das gehen? Ein Gyroskop erkennt meines Wissens Drehungen.


oliver
27.4.2014 16:23
Kommentarlink

Hmhm … was passiert, wenn die das Dinge nicht mehr fangen? Das Gadget dürfte eine kurze Halbwertszeit haben 😀 ^^


Heinz
27.4.2014 17:16
Kommentarlink

Zusammengefügt wird in der Cloud… in der Klout.


Emil
27.4.2014 18:27
Kommentarlink

@Heinz
Und wenn die Firma pleite geht, kannst du die Kamera verschrotten, weil dir keiner mehr deine Bilder zusammenbaut.


Stefan H.
27.4.2014 22:10
Kommentarlink

digitale Wasserwage? 🙂


Hadmut
27.4.2014 22:35
Kommentarlink

> digitale Wasserwage?

Ist ja auch nur ein Beschleunigungs/Gravitationsmesser, und den haben sie ja schon. Zeigt ja auch nur dann an, wo oben ist, wenn nicht in Bewegung.


Heinz
28.4.2014 4:16
Kommentarlink

@oliver:
wie bei der App “Hang time”
Je höher man sein Smartphone wirft, desto länger bleibt es in der Luft und desto höher ist die Punktezahl…


Johanna
28.4.2014 8:44
Kommentarlink

Wozu denn bitte ein Gyroskop? Der schiefe Wurf ist auch nur “Schulmathematik” kombiniert mit etwas höherer Mathematik des zweiten Semesters nach exakte demselben Prinzip wie der senkrechte Wurf berechenbar:

Es gibt dreidimensionale Beschleunigungssensoren (z.B. der BMA020 von Bosch). Vom Grundprinzip her sind das drei herkömmliche Sensoren, die paarweise orthogonal angeordnet sind. Beschleunigung ist die zweite Ableitung des Weges nach der Zeit. Mit einem 3D-Sensor also die zweite Ableitung des Ortsvektors (in R³) nach der Zeit. Der Zeitpunkt, an dem der höchste Punkt Flugbahn beim schiefen Wurf erreicht ist, ergibt sich daher durch zweifache Integration in R³, woraus sich ähnlich einfache Formeln herleiten lassen, wie beim senkrechten Wurf, den nur in R berechnen kann.

Der Luftwiderstand könnte näherungsweise mit dem cw-Wert einer Kugel berücksichtigt werden, was man wohl aber nur bräuchte, wenn man die Kamera aus einer Art Katapult oder Luftdruckkanone abschießen möchte. Bei den geringen Wurfhöhen aus der Hand kann man das aber wohl eher vernachlässigen. Nur bei starkem Seitenwind wird es mit diesen nur auf der Beschleunigung basierenden Berechnungen problematisch…


yasar
28.4.2014 10:36
Kommentarlink

Es könnte allerdings so funktionieren:

Man lasse die Kameras mitlaufen und zeichne dabei z.B. die letzte Sekunde in einem Ringpuffer auf.

Dabei bestimme man laufend die Bewegungsvektoren von markanten Punkten im Bild. Das habe ich vor fast 30 Jahren als studentische Hilfskraft in der FhG KA auf alten Vax11/750ern gemacht. Damals noch etwas gemächlicher, heute sollte das in Echtzeit möglich sein.

Wenn die Bewegungsvektoren ein Minimum erreicht haben (oder idealerweise 0 sind, wenn man den Ball nicht zu arg gedreht hat) speichere man die Bilder dieses Zeitpunktes ab.

Wie gesagt, das wäre mein erster Ansatz. Ob das mit den Auflösungen der Kameras machbar ist, müßte man ausprobieren.


Hanz Moser
28.4.2014 17:38
Kommentarlink

@ Johanna
In der Theorie hast du voellig recht. Man treffe die Annahme fuer beide Integrationskonstanten dass sie 0 seien, da die Kugel in der Hand in Ruhe ist. Dann integriere man zweimal und fertig ist die Laube.

Das funktioniert aber in der Praxis ueberhaupt nicht. Schon gar nicht mit einem Sensor aus der Preis- und Qualitaetsklasse, in der der genannte BMA020 liegt. Die Error-Amplification durch die doppelte Integration ist absurd!
Mit so einem Pfennigsensor brauchst du schon richtige Mathematik in Richtung eines Kalmanfilters um nach einer Sekunde nicht halbe Orbitalgeschwindigkeit zu haben. Die Gravitationseinkopplung in die nicht exakt orthogonalen Achsen und die Skalenfaktoren und Biase der einzelnen Achsen erschlaegst du nicht mehr mit Gymnasialmathematik.

Uebrigens bekommst du so auch keinen Bewegungsvektor im “richtigen” R^3, sondern nur einem in einem R^2, der senkrecht auf dem Boden steht. Das stoert hier aber nicht.

Ein Gyroskop koennte hoechstens noetig sein, wenn die Yaw-Rate beim Abwurf problematische Dimensionen erreicht. Die kann man naemlich mit Beschleunigungssensoren nicht allgemein bestimmen. Das duerfte aber eher nicht der Fall sein.
Gegen Seitenwind wuerde es auch helfen, weil man die Beschleunigung in XY-Richtungen von der in Z-Richtung trennen kann.

@ yasar
OpenCV macht das zum Kinderspiel.
Das Problem duerfte aber eher sein, die Bilder der Kameras schnell genug zur CPU zu bringen. Ein volles Bild kann der Sensor puffern – und so lange er das tut kannst du auch kein neues Bild machen. Also muesstest du wirklich die Videodatenstroeme aufzeichnen, was typischerweise nicht in voller Aufloesung geht, und die dazu notwendige Bandbreite ist sehr schnell problematisch.

Was ich eher machen wuerde ist mit einem Pfennigaccelerometer zu bestimmen, wo ungefaehr “unten” ist, dann ein paar Kameras auf niedriger Aufloesung mitlaufen lassen um via optical flow Drehraten und Bewegung zu berechnen und daraus abschaetzen, wann der hoechste Punkt erreicht sein wird. Dann kann man dort ganz normal Fotos machen.
Vermutlich waere das aber zu rechenzeitaufwaendig mit mehreren Kameras.


yasar
29.4.2014 7:52
Kommentarlink

@Hans Moser

Mir ist auch klar, daß an diese Idee die größte Hürde die Datenübertragungsraten sind. Aber eventuell reichen ja auch ein paar sehr niedrig auflösende “Hilfskameras” um den richtigen Zeitpunkt zu finden.

Eine noch einfachere Lösung wäre mit den berechneten Daten aus der Abwurfgeschwindigkeit einfach für einen gewissen Zeitraum Serienbilder zu machen und aus diesen dann die besten zu nehmen.


Johanna
29.4.2014 7:57
Kommentarlink

Zwei Anmerkungen:

Erstens: Ich schrieb “es existieren 3D-Sensoren” und gab den BMA020 als Beispiel an. Ich sagte nicht, dass man diesen und nur diesen Sensor zu verwenden hätte.

Ihren Einwand zum zum Boden senkrechten Vektor in R² nehme ich natürlich an, da ich selbst den Begriff der Vereinfachung eingeführt habe und dies auf die Schnelle gar nicht bedacht hatte. Trotzdem fürht es mich zu

Zweitens: Die Fehlerfortpflanzung durch doppelte Integration ist unbestritten “absurd”. Aber habe ich gesagt, dass man seinen in die Kamera eingebauten (wahrschienlich ähnlich wie der BMA020 “primitiven”) Prozessor zweimal hintereinander integrieren lassen solle? Oder schrieb ich, dass sich aus der zweifachen Integration geeignete einfachere Formeln herleiten ließen? Letzteres ist der Fall und numerisch weitaus stabiler.
Dass es dann immer noch nur unter bestimmten Randbedingungen genau ist, da haben Sie Recht. Aber auch die momentane Lösung des senkrechten Wurfes in dieser Kamera scheint nur “so in etwa” zu sein und funktioniert scheinbar dennoch ganz gut.

In beiden Fällen haben Sie zwar mit Ihren Aussagen recht, aber leider nur auf einzelne Stichpunkte meines Kommentars reagiert. Und das führt mich weg vom Thema:

Ich habe fast 40 Jahre lang als Ingenieurin gearbeitet und zusammen mit meinem Mann ein kleines Büro mit mehreren Angestellten geführt. Früher kamen Ingenieure von der Uni oder FH und beherrschten die Grundlagen der Differential- und Integralrechnung aus dem FF. Damit meine ich nicht, dass sie in der Lage gewesen wären, jeden Satz aus Büchern eines Prof. Königsberger (man ersetze ihn durch jeden anderen Autor) formal korrekt wiederzugeben und die Beweise zu führen. Nein, damit meine ich, dass die Mathematik grundlegend beherrscht wurde und dann ohne nachzudenken in der Praxis (die ist für Ingenieure meistens relevant) angewendet werden konnten. In den letzen 15 Jahren hingegen kommen immer mehr Ingenieure aus den Unis, stolz wie Bolle, dass sie “die echten Mathematikvorlesungen” belegt hätten. Königsberger & Co. können sie auswendig, aber irgendetwas davon in der Praxis anzuwenden führt zu verdutzten Gesichtern und knallroten Köpfen.

Ich mag nicht generalisieren, aber insgesamt fällt es vielen heutigen Absolventen extrem schwer, das Gelernte auf einfache Art und Weise anzuwenden. Das sieht man in den von Hadmut genannten journalistischen Artikeln zur Wurfkamera, deren Autoren nicht über einfachste (schul-) physikalische Zusammenhänge nachdenken. Man sieht es aber auch hier im Blog an Kommentatoren, die in ein Objekt der Unterhaltungselektronik nicht mit näherungsweisen Lösungen zufriedengeben wollen oder gar Gyroskope einbauen wollen. Warum eigentlich kein Bodenradar?


Hanz Moser
30.4.2014 0:19
Kommentarlink

@ Johanna
So gewuenscht, nehme ich auch gerne im Dialog das Sie.

Ich habe den BMA020 nicht als konkretes Beispiel verstanden, sondern als stellvertretend fuer die Klasse (besonders) preisguenstiger Inertialsensoren. Selbst wenn man ein bisschen bessere Sensoren nimmt, wirklich “gute” duerften den Kostenrahmen fuer so eine Kamera sprengen, bleibt es im Kern dasselbe Problem.

Mein Hauptargument war eigentlich, dass das noetige mathematische Werkzeug um mit so einem Sensor eine brauchbare Abschaetzung fuer den Scheitelpunkt des Wurfs zu bekommen ueber das hinausgeht, was man in der Schule oder den ersten beiden Semestern lernt. Ich kann mir ad hoc nicht vorstellen, wie man ohne ein Filter, alleine durch Umformen der Bewegungsgleichungen, eine erhebliche Verbesserung bekommen koennte. (Ich wuerde mich freuen, eines Besseren belehrt zu werden.) Und Filterbasteln stand in den paar Semestern Ingenieurwesen die ich studiert habe nicht auf dem Lehrplan.

Meine Vermutung ist, dass die derzeitige Loesung durchaus ein bisschen “mathematischen Budenzauber” verwendet, damit sie ganz gut funktioniert. Mit einfach nur einem billigen Sensor wuerde es nicht funktionieren und ich kann mir nicht vorstellen, dass man hier in teure Chips investiert anstatt sich ein Filter zusammenzugoogeln.

Insofern ich den Kern Ihres Kommentares verkannt habe tut mir das leid.

Die Ausfuehrungen hinsichtlich dessen, was man heute gerne “Transferkompetenz” nennt, scheinen mir aber auch nach deutlich weniger als 40 Jahren Berufserfahrung richtig zu sein. Ich kenne das das aus der Perspektive der Informatik und dem bisschen Mathematik was ich beherrsche. Mir scheint das in weiten Teilen das Ergebnis geaenderten Schulunterrichts und einer Verschulung des Studiums zu sein. Durch ein Informatikstudium kommt man heute sehr gut wenn man sich einpraegt wie der Aufgabentypus der jeweiligen Vorlesung funktioniert. Wirkliches Verstaendnis oder Praxisbezug braucht es nicht.
Und fuer die paar Aufgaben, bei denen die Studenten eigentlich selbstaendig etwas “ex nihilo” erzeugen sollen, wird zuerst gegoogelt und dann kommt die fleissig eintudierte Teamkomponente zum Tragen. Anstatt also selbst so lange nachzudenken oder zu probieren bis man etwas Funktionierendes hat und dabei wirklich zu lernen, wird ganz “ergebnisorientiert” irgendwoher eine Blaupause beschafft, die man dann anmalt.

Das mit dem Gyroskop sehe ich aber nicht ganz so schlimm. Die Dinger sind mittlerweile auch spottbillig und wenn jemand sich beim Loesungsansatz vertut mag das ein in sich schluesisger Vorschlag sein.

@ yasar
Mein Vorschlag lief ja auf niedrig aufloesende Hilfskameras hinaus. Um sich die extra Geraete zu sparen nimmt man halt ein paar der Vorhandenen und interpoliert fuer die letzte(n) Zehntelsekunde(n), damit sie zum Ausloesezeitpunkt bereit fuer ein volles Bild sind.

Und genau das mit den Serienaufnahmen duerfte eben auf Grund der Datenraten nicht funktionieren. Ich vermute, dass der USB nach dem Ausloesen fuer einige Zehntel komplett dicht ist. Mit Serienbildern haette man vermutlich meistens zwei miese Aufnahmen um den Scheitelpunkt, deren Streifen in unterschiedliche Richtungen zeigen. Und die Kameras selbst haben mit an Sicherheit grenzender Wahrscheinlichkeit keinen (ausreichenden) internen Puffer. Der CMOS-Sensor wird vermutlich sogar ziemlich direkt auf den USB ausgelesen.


V0oD0o
30.4.2014 17:33
Kommentarlink

Hm, theoretisch betrachtet müsste die Kamera ja während der Wurfes schwerelos sein, d. h. der Beschleunigungssensor zeigt 0m/s² in jeder Richtung – mit einer kleinen Abweichung entgegen der aktuellen Bewegungsrichtung durch den Luftwiderstand. Wenn die Kamera am höchsten Punkt zum Stehen kommt, wird die Beschleunigung null und baut sich dann in entgegengesetzter Richtung wieder auf. Wenn man leicht schrägt wirft, könnte man zumindest die plötzliche Richtungsänderung der Beschleunigung erkennen.
Kann natürlich sein, dass man dieses Verhalten durch Sensorrauschen und Windeinflüsse nur so undeutlich sieht, dass es mit einer Integration besser klappt.


Hadmut
30.4.2014 18:10
Kommentarlink

> Hm, theoretisch betrachtet müsste die Kamera ja während der Wurfes schwerelos sein, d. h. der Beschleunigungssensor zeigt 0m/s² in jeder Richtung

Stimmt exakt – wenn man vom Luftwiderstand absieht. Der ändert das natürlich, weil er abbremst.


Hanz Moser
30.4.2014 22:24
Kommentarlink

@ V0od0o

In der Praxis ist auch der Einfluss des Luftwiderstandes bei Gegenstaenden der Groesse und Dichte extrem klein.