Реализация алгоритма SLAM в C++, который совместим с Windows?

Мне нужен алгоритм SLAM для робота, который будет двигаться по дорожке, избегая при этом препятствий (только один круг, поэтому в конце петля будет замкнута). Робот использует GPS, компас и лидар для навигации.

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

Какие современные алгоритмы используются сегодня для онлайн-слэма? Я хотел использовать iSAM, но он не совместим с Windows.

2 ответа

Недавно была выпущена новая версия системы InfiniTAM с открытым исходным кодом, разработанной в Оксфордском университете. Он поставляется со сборкой CMake, поэтому сборка так же проста, как

git clone https://github.com/victorprad/InfiniTAM.git
cd InfiniTAM
mkdir build
cd build
cmake-gui ../InfiniTAM #SELECT ADDITIONAL BUILD OPTIONS HERE
MSBuild InfiniTAM.sln /property:Configuration=Release /property:Platform=x64

Если у вас есть графический процессор с поддержкой CUDA и установленный комплект разработки CUDA, это будет обнаружено автоматически. Если нет, то я настоятельно рекомендую включить OpenMP в графическом интерфейсе CMake.

Большинство открытых решений Slam разработано на Ubuntu.

до сих пор, для косвенного метода, вы можете обратиться к ORB-SLAM

для прямого метода вы можете обратиться к ЛСД шлема

оба доступны на github.

Другие вопросы по тегам