Инструмент для тестирования и отладки SLAM.
Elektronik Tools - это инструмент на базе движка Unity, который активно используется командой разработчиков Dioram при разработке алгоритмов трекинга и SLAM. Данное программное обеспечение позволяет визуально отслеживать:
- изменения облака точек;
- изменения графа связности наблюдени;
- изменения в карте, построенной при помощи алгоритма SLAM;
- траектории движения отслеживаемых объектов (например, траекторию VR шлема и эталонную траекторию);
- плоскости;
- изображения с камеры. Это значительно упрощает процесс отладки режима построения карты, режима релокализации и многого другого связанного с алгоритмами трекинга и SLAM.
В электронике доступны два основных режима - режим реального времени и режим чтения из файла.
В режиме реального времени Вы сможете наблюдать за процессом построения карты во время работы алгоритма.
Оффлайн режим работает через загрузку данных из файла, это позволит Вам один раз записать все события в файл и прогонять эти события без запуска основного алгоритма. Этот режим поддерживает большие возможности по отображению информации, чем онлайн режим, так как к режиму оффлайн предъявляются меньшие требования по производительности. Данный режим предоставляет такие возможности как перемотка событий, просмотр информации о точках и наблюдениях, "проигрывание" событий и пр. Подробный обзор всех возможностей Вы можете просмотреть в соответствующем разделе документации.
Помимо основных режимов также присутствует дополнительный VR режим. Этот режим позволит Вам следить за всеми процессами из шлема виртуальной реальности, например, Вы сможете пройтись внутри построенного облака точек! В VR режиме есть возможность отключать трекинг шлема, который Вы подключили к компьютеру. Это позволит Вам использовать собственный трекинг для перемещения по сцене. Например, Вы можете подключить шлем Microsoft Mixed Reality, но трекинг осуществлять свой, а не предоставленный через драйвер установленного шлема.
На данный момент электроник поддерживает следующие источники данных о трекинге:
- Protobuf. Собственный формат данных о SLAM объектах на основе google protocol buffers. Активно используется командой Dioram в повседневной работе. Для передачи данных онлайн используется gRPC.
- ROS. Данные передаваемые через сеть ROS. Поддерживаются ROS, ROS2, rosbag, rosbag2. Подробности о возможностях и ограничениях читайте в соответствующем разделе документации.
Если у Вас появится желание дополнить, поправить или ускорить Электроника, то всю необходимую информацию Вы сможете найти в разделе документации, посвящённому описанию структуры исходного кода Электроника. Также вы можете расширить Электроника при помощи плагинов. Вся информация находится в соответствующем разделе документации.
Мы стараемся делать код Электроника как можно удобнее для отладки и сопровождения, поэтому в коде активно используются приёмы и паттерны ООП.
Вы можете скачать актуальный релиз Электроника или собрать его самостоятельно.
Надеемся, что Электроник поможет Вам в разработке SLAM Вашей мечты и будем признательны за Вашу помощь в его развитии!
С уважением, команда разработчиков Dioram.
