Unflexibel.
Wenn nämlich die "intelligente" Bake ausfällt, bricht das gesamte System zusammen. Sie muss ja noch nicht mal ausfallen, es reicht, wenn es Kommunikationsprobleme gibt.
Ich halts für besser (und der Aufwand ist nicht viel mehr, um miteinander kommunizieren zu können braucht eh jede Bake nen Rechenknecht), wenn jede Bake alles kann. Dann kann man die ausgefallene nämlich einfach austauschen, bzw. ungerührt weiter machen, so lange noch "genug" Baken online sind.
Zudem: wie soll die Bake die Entfernung des Roboters zu den Satelliten wissen?
Dazu müssen die auch gegenseitig Daten austauschen- vom Aufwand her find ich das nicht geringer. Aber anfälliger, weil dann sämtliche Satelliten auch noch mit der Bake reden müssen. Da ist einfach irgendwann zu viel "IR-Müll" im Raum.
Das ist in Griff zu bekommen, aber umständlich:
-Roboter weckt alle Satelliten auf (mit nem IR-Blitz und gleichzeitig nem US-Rundruf
-jeder Satellit misst nun die Entfernung, und muss die an die Bake weiter geben
-jetzt kann die Bake alles an den Roboter schicken.
Das ist nicht mal schnell, denn die Bake muss warten, bis sie von allen Satelliten die Werte bekommen hat.
Weiter muss es gut getimed werden, damit die Satelliten nicht gleichzeitig mit der Bake reden.
Ich hab da also entweder irrsinnige Verzögerungen drin (es kann vorkommen, dass die Bake nen Satellit nicht richtig versteht, und die Werte neu anfordert, aber auch, dass mal ein Satellit ganz ausfällt, das kann ich _nur_ mit ner gewissen Wartezeit rausfinden), oder aber ich muss vor jedem Start des Systems sicher stellen, dass die Bake sämtliche, im Einsatz befindlichen Satelliten kennt und auch mit ihnen einwandfrei kommunizieren kann.
Nen paar der Probleme kann man umgehen, indem man die Bake und die Satelliten miteinander per Kabel verbindet (ne Art Bussystem) aber dann wird das Ganze dermassen unflexibel...richtig schick geht das dann wohl nur noch mit nem Funknetzwerk-Blauzahn oder so.
Bei der von mir bevorzugten Lösung kann man von einer bis-beliebig viele Baken benutzen. Der einzige Unterschied zwischen ihnen ist ne eigene Adresse.
Nach dem "Rundruf" vom Roboter melden sich einfach alle, die es mitbekommen und schon weiss der Roboter, wer alles da ist bzw. im Bereich.
Dort kann man noch ne Differenzierung einbauen: Bake Addr.1 antwortet 10ms nach dem "Weckruf", Bake Addr.2 20ms danach usw. Auch das kann man in die Baken fix gleich mit einprogrammieren, so braucht der Roboter auch das nicht mehr managen.
Fällt _hier_ irgendeine Bake aus, ist das nicht soo tragisch: solange noch _irgendeine_ mitspielt, kann der Roboter zumindest diese noch lokalisieren.
Und: man kann klein anfangen-wenn das Budget eben grade nicht die eigentlich nötigen 15 Baken hergibt, kann man mit zweien schon sehr viel anfangen, und später nach und nach einfach neue hinzufügen, _ohne_ am System selber irgendwas zu ändern.
Bauch ich mal nur vier, stell ich eben nur die viere auf und gut. Ich muss dann nicht eine Zeile Code ändern.
Lesezeichen