-
Die Idee, dass sie zum kommunizieren ganz dicht zusammen stehen sollen ist sehr gut. Dann würde es wohl nicht so viele Reflektionen geben.
Zur Hindernisserkennung kann man ja einen RIng aus IR LED nehmen (HIndernisse in allen Richtungen erkennen) und wie du sagst, zum kommunitieren, dann nur eine schwache LED mit kleinem Winkel. Sollte trotzdem etwas reflektieren wie du sagst, kann man das ja mit einer PrÜfsumme erkennen, kurz warten und noch mal senden.
Das die Roboter zum kommunizieren nah aneinander müssen ist zwar etwas Zeitverschwendung, aber sieht bestimmt lustig aus.
Vielleicht könnte man auch ein piezo Mikrofon oder Signalgeber benutzen. Aber das gedudel würde wohl nicht nur die Roboter in den Wahnsinn treiben.
-
wobei ich mich gerade frage, ob man Ultraschallsensoren nur für entfernungsmessung nehemn kann.
Diese kleinen Buchsen auf dem Sensor sind ja im prinzip nix anderes... kleine Lautsprecher und kleine Mikros.
Man könnte damit ja in Frequenzbereichen arbeiten, die für menschen nicht/kaum hörbar sind.
Dann ist aber eben wieder das Problem, das sich der Schall kaum eingrenzen lässt und an Wänden und Gegenständen reflektiert.
Wenn sie sich schon so sehr annähern, könnte man eigentlich auch Kontaktringe um den Robot montieren...
flexibel befestigt, vieleicht auf mehrere "sektoren" um den Robot aufgeteilt.
.... kannst auch noch microschalter anbringen und sie gleichzeitig als stoss-sensor verwenden.
Wäre mal ne sehr sparsame idee nen schwarm zu bauen aus Robots, die nix anderes ans n paar Microschalter haben.
ist nur die Frage, wie die robots dann entscheiden, wer zuerst senden oder empfangen soll...
wenns da "Missverständnisse gibt schmort man den Input vom Microcontroller *gg
-
1) Sparsame Kommunikation dürfte ein wesentlicher Punkt sein: Es darf nicht jeder Bot beständig vor sich hinsabbeln (neudeutsch "twittern" bzw. "bloggen :) ) sondern nur der, der WIRKLICH was zu sagen hat. Funkstille muss der Normalfall sein.
2) Die Konversationsetikette für die Bots könnte den üblichen Anstandsregeln unter Menschen ähneln:
- ich falle niemandem ins Wort: hören VOR dem Reden
- wenn ich zeitgleich mit einem anderen zu sprechen beginne, unterbreche ich, also: IR-Burst senden, dann hören/lesen, ggf.erst nach Abklingzeit des Empfängers; falls Empfangssignal da, Senden abbrechen; bei Licht ist hören des selbst Gesagten bei den üblichen Befehlszykluszeiten nicht möglich.
- falls Kollision sein könnte (auch Reflexion): nach einer subjektiv angemessenen Pause (technisch: Zufallszahl, binäre "Unruh", z.B. IRQ-Zählvariable) setze ich erneut an und rede dann zu Ende. Eine erneute Kanalkollision ist dann sehr unwahrscheinlich.
Punkt 2) ist eine mögliche Erweiterung des von JoeM1978 vorgeschlagenen Kanalbelegungssignals.
Grundsätzlich würde ich IR vorziehen, damit die doch recht endlichen Signallaufzeiten von Ultraschall nicht das ganze Prozedere in die Länge ziehen. Außerdem produziert US durch Laufzeitdifferenzen bei Reflektion beständig scheinbare Kanalkonflikte, deren Auflösung ich mir gerade nicht vorstellen kann.