Ультразвуковые датчики невероятно дешевы в наши дни, что делает их популярным выбором для многих робототехнических приложений-любителей, и я хотел бы использовать их (скажем, 10) вокруг робота с алгоритмом для построения приблизительной карты местности (как робот исследует его.) Я не заинтересован в том, чтобы иметь дело с движущимися объектами на данном этапе, просто определяю стационарные, и я буду использовать GPS для определения местоположения. Я понимаю, что другие компоненты, такие как лазерный сканер, будут давать гораздо более точные результаты, однако такие устройства также астрономически дороже.
Существует ли алгоритм для этой цели?
источник
Чтобы сделать SLAM, вам понадобится относительно хорошая оценка позиции.
Роботы, которые используют лазерные сканеры, могут обойтись только одометрией, потому что данные относительно точны, и данные сканера могут использоваться, чтобы помочь локализовать в последующих временных шагах.
Ультразвуковые датчики очень нечеткие, обычно они имеют нечеткость направления 20+ градусов, и все в общем направлении будет обнаружено.
Таким образом, они оказывают незначительную помощь в локализации (за исключением очень структурированных сред).
Комбинация GPS / IMU может использоваться для получения разумной локализации. Конечно, это зависит от масштаба робота, и, если он находится в помещении, GPS может быть непрактичным.
Если вы можете тщательно контролировать проскальзывание колеса, одометрия колеса может значительно улучшить локализацию в краткосрочной перспективе (хотя предпочтительным является абсолютный метод локализации). Без абсолютной привязки (например, GPS), даже с лазерным сканером, вам нужно будет решить проблему «замыкания петли».
Структурированные среды могут иметь более низкие требования к точности. Например, среда, похожая на лабиринт, со стенами на регулярной квадратной сетке, где легко обнаружить присутствие стены в каждом направлении ячейки сетки.
источник