Некоторые идеи у меня в голове ... Как правило, вы можете либо дать каждому роботу почувствовать свою позицию, либо использовать какую-то систему, чтобы найти роботов и отправить им информацию об их положении (или их комбинации). Возможно, использование других положений робота для определения местоположения - это еще один вариант, если они могут общаться. Вы также можете объединить информацию датчиков от роботов и других источников.
оптический
Вы можете кодировать абсолютное или относительное положение на полу или потолке. Датчик на роботе может посмотреть на них. Такой датчик, как в вашей оптической мыши, может получать относительное движение от большинства поверхностей даже без какого-либо рисунка. Были мыши старого стиля, которые использовали узорчатую сетку.
Вы можете иметь две (или более) камеры на каждом роботе, смотрящем в разные стороны, если стены комнаты имеют правильный вид рисунка, вы можете определить свое местоположение на основе изображений. Вращающаяся камера является еще одним вариантом. Обструкция камеры другими роботами может быть проблемой.
Сенсорная матрица или камера в полу или на потолке могут определять местонахождение роботов, а затем вы можете отправлять роботам их местоположение.
Какой-то вращающийся оптический датчик, который может определять направление оптического маяка (например, светодиод).
Звук
У вас может быть несколько маяков, излучающих ультразвуковые щебеты. Если они все синхронизированы (например, фиксированная задержка между ними), то, учитывая их местоположение, вы можете использовать расчет времени полета для определения положения робота. Много лет назад я работал с ультразвуковым дигитайзером, точность которого составляла около миллиметра на расстоянии около метра, так что, похоже, это примерно так. В зависимости от формы вашего робота и конфигурации роя, отражения и препятствия могут быть или не быть проблемой. Вам нужно будет поэкспериментировать, но мое внутреннее чувство заключается в том, что с достаточным количеством маяков вы можете добиться хороших результатов.
Ультразвуковые дальномеры на каждом роботе. (вращается?) Может отобразить расстояние до других роботов или стен.
Если что-то из этого звучит интересно, я могу попытаться развить эти идеи немного дальше.