Обнаружение стены в имитации датчика MATLAB SLAM
Я работаю над простой симуляцией SLAM для проекта. Вот проблема:
Для симуляции я буду использовать мобильный робот, движущийся в комнате. Робот оснащен лазерными датчиками расстояния, поэтому он может определять расстояние от себя до стены изнутри под углом, как показано на первом рисунке:
Код MATLAB, который я реализовал для симуляции, состоит в том, чтобы просто рассчитать углы от каждой точки стены до позы робота и вернуть все точки, угол которых находится внутри, например, [-60°,+60°].
Однако для более сложных конфигураций комнат его нельзя использовать, поскольку стены, которые не должны быть обнаружены (стены из других комнат), также будут обнаружены, как видно на втором рисунке:
Мне нужен лучший способ реализовать это обнаружение внутри симуляции, чтобы я мог использовать его для любых типов комнат, таких как эта, с такими результатами: