Форум программистов, компьютерный форум, киберфорум
Fon Eberkopff
Войти
Регистрация
Восстановить пароль
Рейтинг: 1.50. Голосов: 2.

мой опыт установки технологии LSD SLAM

Запись от Fon Eberkopff размещена 13.08.2017 в 10:31
Метки lsd slam

Принцип работы алгоритма LSD-SLAM выглядит следующим образом. Параллельно
работают три процедуры: трекинг (оценка положения нового кадра относительно текущего
ключевого кадра), построение карты (обработка кадров с известным положением) и
оптимизация карты (поиск циклов в графе ключевых кадров и устранение эффекта
плавающего масштаба).
Основным минусом данного алгоритма является его требовательность к “железу”, его
стоит запускать только на производительном CPU. Однако при этом он строит гораздо более
плотную карту местности, чем ORB SLAM. Этот метод также стоит использовать если
окружение включает в себя большое количество слаботекстурированных крупных объектов.

-------------------------------------------
Описание установки окружения на habrahabr:
https://habrahabr.ru/company/singularis/blog/277109/

С учётом следующего:
1.

Настройка catkin:
создадим папку для пакетов и перейдем в нее:
Код:
    mkdir –p ~/ros_workspace/catkin/src && cd $_

длинный минус перед p надо заменить на короткий.

2.

Для включения поддержки loop closure в самом LSD SLAM необходимо отредактировать файл lsd_slam_core/CmakeLists.txt, расскоментировав следующие строки:
Код:
add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/openFabMap)
include_directories(${PROJECT_SOURCE_DIR}/thirdparty/openFabMap/include)
add_definitions("-DHAVE_FABMAP")
set(FABMAP_LIB openFABMAP )
это надо делать после клонирования репозитория:
git clone https://github.com/tum-vision/lsd_slam.git

3.
В разделе

Далее перейдем в папку (предварительно создав ее) ~/ros_workspace/test и создадим в ней текстовый файл camera.launch запуска со следующем содержанием:
Код:
<launch>
        <node pkg="usb_cam" type="usb_cam_node" name="camera" output="screen">
                <param name="video_device" value="/dev/video0"/>
                <param name="image_width" value="320"/>
                <param name="image_height" value="240"/>
        </node>

        <node pkg="image_view" type="image_view" name="viewer">
                <remap from="image" to="/camera/image_raw"/>
        </node>
</launch>
В моём случае надо было изменить метод компрессии, т.е. добавить
Код:
<param name="pixel_format" value="yuyv" />
чтобы камера нормально выводила изображение на экран.

Узнать методы компрессии камеры можно с помощью команды:
Код:
v4l2-ctl --list-formats-ext -d /dev/video0
4.
У меня не получилось собрать LSD SLAM с помощью системы сборки rosbuild.
Но получилось с помощь catkin:
http://visbot.blogspot.ru/2014/11/tu...am-on-ros.html

Следуя инструкциям сайта visbot.blogspot.ru, после внесения изменений в файлы CMakeFiles.txt и package.xml
собираем через catkin_make, сотрим на ошибки и исправляем их.
В разных ситуациях мне встречались следующие ошибки компиляции:
4.1.

Цитата:
fatal error: lsd_slam_viewer/keyframeMsg.h: Нет такого файла или каталога

Файл keyframeMsg.h создаётся компилятором при компиляции. Если запущено много потоков, то иногда не успевает создать.
Надо уменьшить число потоков.
На машине Celeron с двумя ядрами catkin_make -j1
На i3 с четырьмя ядрами catkin_make -j2
4.2.
На одной из машин компилятор не мог увидеть путь к несвободным библиотекам OpenCV/
Надо задать значение переменной LD_LIBRARY_PATH и экспортировать:
Код:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/Ваш/путь/к/OpenCV_с_несвободным_модулем/lib
В моём случае это было:
Код:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/pon79/opencv-2.4.8/build/lib
5.
В моём случае при использовании рекомендуемого файла калибровки camera.cfg, созданного вручную, LSD не работал.
Заработал, когда я убрал из .launch файла ссылку на созданный вручную camera.cfg

6.
файл lsd_slam.launch прилагаю
Вложения
Тип файла: zip lsd_slam.zip (1,018 байт, 90 просмотров)
Размещено в Без категории
Просмотров 909 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.