Какой алгоритм я могу использовать для построения карты исследуемой области с использованием ряда ультразвуковых датчиков?

9

Ультразвуковые датчики невероятно дешевы в наши дни, что делает их популярным выбором для многих робототехнических приложений-любителей, и я хотел бы использовать их (скажем, 10) вокруг робота с алгоритмом для построения приблизительной карты местности (как робот исследует его.) Я не заинтересован в том, чтобы иметь дело с движущимися объектами на данном этапе, просто определяю стационарные, и я буду использовать GPS для определения местоположения. Я понимаю, что другие компоненты, такие как лазерный сканер, будут давать гораздо более точные результаты, однако такие устройства также астрономически дороже.

Существует ли алгоритм для этой цели?

berry120
источник

Ответы:

5

Алгоритмы по сути одинаковы, независимо от того, какие датчики вы используете.

Настоящая проблема, о которой говорил Крис , в том, что SLAM сложен даже с очень хорошими датчиками.

Я считаю, что GPS, одометрия колес и IMU необходимы для того, чтобы даже попытаться ударить ультразвуком.

Если вы просто ищете дешевую локализацию, я рекомендую взглянуть и на шлемы на основе vision / kinect. И веб-камеры, и Kinect очень дешевы, и визуальный удар прошел долгий путь.

Kinect в значительной степени является святым Граалем с точки зрения производительности / стоимости сенсора, пока вы находитесь в помещении.

Вот пример kinect на робота плюс много математики: http://www.youtube.com/watch?v=9Y4RQVpp-BY

user65
источник
6

Есть целая область литературы по этой теме. Наиболее общей идеей является идея одновременной локализации и картирования ( SLAM ), где робот должен построить карту одновременно с тем, как он обнаружил себя на этой карте. В зависимости от того, насколько точной вы хотите, чтобы ваши карты были, вы можете попробовать более простую задачу создания карты сетки занятости , которая предполагает, что вы знаете местоположение робота.

В общем, GPS довольно ужасен, поэтому генерация сетки занятости только с использованием GPS в качестве основного источника местоположения будет генерировать довольно размытые карты. Тем не менее, можно интегрировать GPS с ускорением, гироскопами, компасами, камерами, колесными датчиками и другими датчиками, чтобы приблизиться к хорошей позиции в мире. В противном случае вам нужно будет изучить простую систему SLAM для решения ваших проблем.

Хороший пакет с открытым исходным кодом g2o , для так называемого GraphSLAM, позволяет устанавливать ограничения, такие как GPS и относительное положение относительно стен. Это может быть не совсем точно, но это довольно общее.

Крис Мэнсли
источник
1
Дополнительной мыслью было бы собрать все данные, используя основные способы избегания, чтобы убедиться, что робот не врезался в что-либо, а затем использовать график SLAM постобработки. Это может использовать все захваченные данные, а не только предыдущие данные для точки. Возможно, вы захотите проверить: openslam.org/ssa2d.html или robots.stanford.edu/papers/thrun.graphslam.html
Баррет Эймс
2

Чтобы сделать SLAM, вам понадобится относительно хорошая оценка позиции.

Роботы, которые используют лазерные сканеры, могут обойтись только одометрией, потому что данные относительно точны, и данные сканера могут использоваться, чтобы помочь локализовать в последующих временных шагах.

Ультразвуковые датчики очень нечеткие, обычно они имеют нечеткость направления 20+ градусов, и все в общем направлении будет обнаружено.

Таким образом, они оказывают незначительную помощь в локализации (за исключением очень структурированных сред).

Комбинация GPS / IMU может использоваться для получения разумной локализации. Конечно, это зависит от масштаба робота, и, если он находится в помещении, GPS может быть непрактичным.

Если вы можете тщательно контролировать проскальзывание колеса, одометрия колеса может значительно улучшить локализацию в краткосрочной перспективе (хотя предпочтительным является абсолютный метод локализации). Без абсолютной привязки (например, GPS), даже с лазерным сканером, вам нужно будет решить проблему «замыкания петли».

Структурированные среды могут иметь более низкие требования к точности. Например, среда, похожая на лабиринт, со стенами на регулярной квадратной сетке, где легко обнаружить присутствие стены в каждом направлении ячейки сетки.

ronalchn
источник