Если вы можете поместить некоторые маркеры в комнате, использование камеры может быть вариантом. Если 2 известных маркера имеют угловое смещение (слева направо), то камера и маркеры лежат на окружности, радиус которой связан с измеренным углом между маркерами. Я не помню формулу сразу, но сегмент дуги (на этом круге) между маркерами будет в два раза больше угла, который вы видите. Если у вас есть маркеры на известной высоте, а камера находится под фиксированным углом наклона, вы можете вычислить расстояние до маркеров. Любой из этих методов сам по себе может зафиксировать ваше положение, если достаточно маркеров. Использование обоих поможет сделать это с меньшим количеством маркеров.
К сожалению, эти методы несовершенны из-за ошибок измерения. Вы можете обойти это, используя оценку Кальмана для включения нескольких измерений шума, чтобы получить точную оценку местоположения - вы можете затем ввести некоторую информацию о точных расчетах (которая также несовершенна), чтобы улучшить ее. Эта часть довольно глубоко погружена в математику, но я бы сказал, что это требование сделать большую работу в том, что вы пытаетесь. Вы можете обойтись без него, но если вы хотите получить оптимальное решение (с точки зрения наилучшей оценки позиции для данного ввода), лучшего способа нет. Если вы действительно хотите сделать карьеру в автономной робототехнике, это сыграет большую роль в вашем будущем. (
Как только вы сможете определить свою позицию, вы можете покрыть комнату любым рисунком, который вам нравится. Продолжайте использовать датчик удара, чтобы составить карту препятствий, и тогда вам нужно будет разработать способ сканирования, включающий препятствия.
Не уверен, что у вас есть математическое образование, но вот книга :
http://books.google.com/books/about/Applied_optimal_estimation.html?id=KlFrn8lpPP0C