Ответ 1
Книга Вероятностная робототехника от Thrun и др. тратит много времени на SLAM.
OpenSLAM имеет много ресурсов SLAM и реализации различных алгоритмов SLAM.
Есть ли у кого-нибудь опыт разработки или работы над проблемой автономного робота, в частности, разработки алгоритма SLAM? Я хотел бы знать, где было бы хорошим местом для начала разработки очень простой базовой версии на SLAM. Также будут оценены любые указатели на ресурсы по темам (кроме очевидных поисковых запросов Google).
Книга Вероятностная робототехника от Thrun и др. тратит много времени на SLAM.
OpenSLAM имеет много ресурсов SLAM и реализации различных алгоритмов SLAM.
Вероятностная робототехника - это, безусловно, отличная книга, но текущие алгоритмы переместили большую часть области, которую она охватывает.
Grisetti TORO (доступный от OpenSLAM) - это быстрый алгоритм, который может закрывать циклы в O (N) времени (где N - размер цикла). Он может подойти вам при следующих условиях:
Kaess iSAM очень хорош, если вам нужна оптимальная точность (оптимальная в смысле наименьших квадратов). Он может подойти вам при следующих условиях:
Я знаю, что скоро приеду на эту вечеринку, но у меня очень простая реализация SLAM, которая выполняется в MATLAB (или бесплатном Octave), что полезно для изучения основ. Реализация примерно такая же простая, как и она, включая только 283 строки кода.
Посмотрите здесь: https://github.com/randvoorhies/SimpleSLAM
Некоторые из людей, работающих над роботами в университете Билефельд, полагаются на следующие документы в своей работе с роботом.
я. Эстебан, О. Буй, З. Живкович и Б. Крёсе. Шум от траектории движения Omnivision. В RSS Представлено. IEEE, 2008
Харати, С. Гахтер и Р. Зигварт. Быстрая сегментация изображения для внутреннего 3D-SLAM. В шестом симпозиуме IFAC по интеллектуальным автономным транспортным средствам (IAV), 2007.
Харати и Р. Зигварт. Ортогональный 3D-SLAM для внутренних помещений с использованием углов с прямым углом. На третьей Европейской конференции по мобильной робототехнике (ECMR), 2007 г.
Другой документ, который может дать вам отправную точку:
Большая часть статьи должна быть найдена в Google.
Еще один поздний ответ, но я только что наткнулся на учебное пособие по созданию шлема EKF в Matlab или Octave от доктора Джоан Сола: http://www.joansola.eu/JoanSola/eng/course.html.
Это около 8 часов видеоролика, и это немного медленно, но оно проведет вас через рабочую реализацию SLAM.
Кроме того, если вы пишете С++, MRPT должен быть одним из ваших вариантов реализации SLAM.
MRPT - это инструментарий для программирования мобильных роботов, предназначенный для SLAM, компьютерного зрения и алгоритма планирования движения. Вы найдете множество простых примеров и некоторые полезные приложения, такие как SLAM SLAM, графический SLAM, kinect 3D SLAM и т.д. Здесь.
Для разработки ваших основ вы можете, конечно, попробовать онлайн-курс автономных мобильных роботов по edx: https://www.edx.org/course/autonomous-mobile-robots-ethx-amrx-1
MRPT также является хорошим выбором. Но убедитесь, что вы знаете основы фильтра Калмана.
openCV - ваш лучший выбор для этого, это большая библиотека, которая обрабатывает тонну проблем с компьютерным видением, которая имеет отличную историю, сообщество и поддержку.