Lese ich das recht? Du ermittelst die Koordinaten mittels Ultraschall und sich drehenden Spiegel?
Hm.
Das sind beides Systeme die vom Physikalischen Hintergrund her bereits eine eingebaute Ungenauigkeit haben.
Ich überlege mal laut - wahrscheinlich hast du das aber schon hinter dir, aber mich hat das jetzt interessiert, wie genau diese beiden Verfahren rein theoretisch sein können, daher habe ich es mal durchgerechnet.
Schall: Luftdichte, Luftfeuchtigkeit - je nachdem ist die Schallgeschwindigkeit unterschiedlich schnell.
http://de.wikipedia.org/wiki/Schallgeschwindigkeit
Direkt über dem Wasser ist die Luft kälter (und feuchter), also ist der Schall dort schneller. Ein Teil des Schalls wird womöglich vom Wasser geleitet. Reflexionen überall. Also Schall zur Positionsbestimmung in dieser Umgebung zu nehmen ist so ziemlich
Wir haben also mit einer Zerteilung der ursprünglichen Schallwelle zu tun, weil sie durch unterschiedlich dichte Medien läuft. Nehmen wir nur an, die Schallwelle läuft 5 Meter weit. Ein Teil Welle läuft in warmer Luft, der andere in kalter (feuchter) Luft. Nehmen wir einfach die Zahlen aus dem Wiki oben:
Warm (25°): 346,3 m/s durch 5 meter sind 69,25 1/sec oder 0,01444043321 sec, also 1,444043321 hunderstel Sekunden.
Kalt (15°): 340,5 m/s durch 5 sind 68,1 1/sec oder 0,014684281 sec.
So. Der Unterschied der Welle beträgt also 0,0002438546 Sekunden oder umgerechnet etwa 0,0836 Meter, also fast 10 Zentimeter!
Ich habs jetzt nicht nochmal nachgerechnet, aber ich muss sagen, das überrascht mich, weil ich habe mit 1-2 Zentimeter gerechnet. Wenn es stimmt, dann zeigt das aber Q.E.D.
Das heißt jetzt natürlich nicht, dass sich das wirklich um 10 Zentimeter hin oder herverschiebt, sondern dass man mit diesen Messungenauigkeiten rein prinzipbedingt rechnen kann. Auf jeden Fall wird dieser Effekt der unterschiedlichen Lufttemperatur die Genauigkeit stark beeinflussen - je nachdem wie die Welle vom Sender zum Empfänger läuft! Wie gesagt, es gibt hier jede Menge Reflexionen (allein schon die Wasseroberfläche)...
Was eine Winkelmessung anbelangt, also eine Kreuzpeilung sieht das ähnlich schlecht aus, wenn man so misst, wie ich das in deiner Kurzbeschreibung herauslese. So wie ich das nämlich verstehe drehen sich viele Signalquellen, ähnlich wie Leuchttürme, allerdings synchron.
Das Schiff misst dann, wann ein Lichtblitz empfangen wurde. Eventuell sind die Lichtsignale auch nochmal mit einem Signal moduliert, um die Leuchtquellen unterscheiden zu können.
Aus dem Zeitpunkt, wann ein Signal empfangen wurde, kann man hinterher durch Kreuzpeilung die Position gut bestimmen, zumindest ist das Verfahren mathematisch relativ gut erfasst.
http://de.wikipedia.org/wiki/Kreuzpeilung
Jetzt kommt es natürlich darauf an, wie schnell diese Kreuzpeilung durchgeführt wird. Ich nehme im folgenden der Einfachheit halber an, dass die Leuchttürme sich genau einmal pro Sekunde drehen. Das heißt, die Schiffsposition kann einmal pro Sekunde berechnet werden. Das ist denke ich ok, vielleicht wären auch noch 2 Sekunden vertretbar, aber viel mehr sollten es nicht sein.
Die Messung erfolgt auf Basis einer eigenen Uhr, auf die alle Komponenten (also die Leuchttürme und die Schiffe) geeicht sein müssen.
Der weiteren Einfachheit halber nehme ich nun auch noch an, dass wir nur einen Leuchtturm empfangen. Angenommen der Leuchtturm befindet sich 1 Meter entfernt, das weiß man zum Beispiel aus einer anderen Messung. Die Frage ist nun: Wie genau muss diese Uhr gehen, damit man die Position rund um den Leuchtturm auf 1 cm genau messen kann.
Die Rechnung ist folgendermaßen: Der Umfang eines Kreises in 1 Meter Entfernung ist 6,2831 Meter (2 mal pi). Der Lichtstrahl vom Leuchtturm muss also die 6,2831 Meter in einer Sekunde abfahren. Damit man eine Auflösung von 1 Zentimeter erreicht, muss der Lichtstrahl also 628,31 mal einen Zentimeter abfahren und benötigt dafür pro Zentimter 0,0015916 Sekunden. Also etwa 16 tausendstel Sekunden.
Dies genügt aber nicht. Man muss die Genauigkeit wegen Messungenauigkeiten und wegen dem Abtastproblem mindestens doppelt so hoch machen. Also etwa 8 Tausendstel Sekunden!
In 1,5 Meter Entfernung beträgt diese Mindestgenauigkeit übrigens bereits 5 Tausendstel Sekunden! Für jedes Tausendstel mehr oder weniger erhöht sich die Messungenauigkeit da schon um 2 Millimeter.
Solche Genauigkeiten sind mit bezahlbarer Kleinmechanik meiner Meinung nach noch nicht erreichbar. Man muss sich mal überlegen: Die Genauigkeit muss höher sein, wie man mit einer normalen Quarzuhr erreichen kann. Allein die Quarze, der das steuern, müssen mit der hundertfachen Geschwindigkeit schwingen, man ist hier also in Frequenzbereichen, die mit üblicher Hightech-Modellbautechnik nicht mehr handelbar ist.
Es gibt zwei oder drei Möglichkeiten, um die Position und/oder den Kurs der Schiffe genau genug messen zu können, die wurden alle schon diskutiert und eigentlich auch ausdiskutiert:
Absolute Positionen:
* Peilstrahl. Ein Laserstrahl gibt die Richtung vor. Das Schiff misst, wo der Strahl auf das Schiff fällt und weiß, ob es sich links oder rechts vom Peilstrahl befindet.
* Lichtschranken. Fahrt das Schiff auf dem Peilstrahl und durchfährt nun eine Lichtschranke, so kann man nur durch diese zwei Messungen sehr genau messen, wo sich das Schiff gerade befindet.
* Mit einer zweiten Lichtschranke kann man die Geschwindigkeit sehr genau messen.
* In der Nähe des Ufers kann man z.B. mit Ultraschallsensoren die Annäherung und vielleicht auch den genauen Abstand messen.
Relative Positionen:
* Messen über eine Art Mausoptik im Schiffsboden. Diese Messung kann mit einer entsprechenden Optik sehr genau sein, teilweise auf Zentelmillimeter genau. Sie ist jedoch nicht absolut, sondern nur relativ, unterstützt also die Positionsberechnung nur. Ich könnte mir vorstellen, dass Maushersteller wie Logitech (die Mäuse mit entsprechender Genauigkeit herstellen) dabei vielleicht behilflich sein wollen so eine Optik herzustellen, vielleicht gibt es aber auch so etwas fertig zu kaufen.
[Hab ich was vergessen?]
Die Genauigkeit mit der die Schiffsposition bestimmt werden kann, ist also nicht zu allen Zeiten gleich hoch. Ziemlich schwierig stelle ich mir daher die Programmierung vor, denn die Position wird bei dieser Art der Bestimmung nicht mehr durch ein Verfahren gemessen, sondern durch viele. Die Variablen sind komplex, der Rechenaufwand dagegen ist relativ gering - wenn das Programm korrekt rechnet, dürfte eine Positionsberechnung weniger als 1/1000 Sekunde dauern.