Тип работы:
Предмет:
Язык работы:


Оптимизация работы сцены в приложении SOLVE

Работа №149227

Тип работы

Бакалаврская работа

Предмет

информационные системы

Объем работы28
Год сдачи2024
Стоимость4760 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
28
Не подходит работа?

Узнай цену на написание


Введение 4
1. Постановка задачи 6
2. Обзор 7
2.1. Обзор приложения 7
2.2. Компонент сцены 7
2.3. Решения для рендеринга 10
3. Реализация системы рендеринга 18
4. Сравнение производительности и апробация 23
4.1. Апробация 24
5. Заключение 25
Список литературы 26

В настоящее время всё большее применение находят автономные
робототехнические системы, используемые для выполнения различных
задач на местности. При разработке такого типа устройств значительное внимание уделяется задаче локализации (определения положения
робота в пространстве). Популярным методом решения данной задачи
является SLAM (simultaneous localization and mapping) [19] — одновременная локализация и построение карты. Обычно SLAM-системы
состоят из двух компонентов: фронтенда и бэкенда. Первый включает
в себя распознавание ориентиров на кадрах (детекция) и их сопоставление на разных снимках (ассоциация), после чего второй компонент
обрабатывает полученные данные для построения карты местности и
локализации на ней робототехнического устройства.
Качество работы алгоритмов детекции и ассоциации фронтенда во
многом определяет конечный результат работы всего SLAM алгоритма
и, в связи с этим, часто возникает потребность в их отладке. На данный
момент основным методом для выявления ошибок в рассматриваемых
системах является визуализация ориентиров и ассоциаций в реальном
времени.
Существуют SLAM-фреймворки, которые предоставляют такую возможность, но, как правило, визуализация в них является неотделимой
от остальной реализации частью [3, 16], что создаёт трудности при отладке отдельных компонентов фронтенда. С целью решения данной
проблемы в Лаборатории мобильной робототехники [15] ведётся разработка приложения SOLVE, интерфейс которого изображён на рисунке 1,
предназначенного для визуализации ориентиров в SLAM-алгоритмах.
Основным компонентом инструмента является сцена, отвечающая за
отображение кадров с нанесёнными на них ориентирами. В качестве
технологического стека используется язык программирования Kotlin,
фреймворк TornadoFX и библиотека JavaFX. Поскольку наборы данных, использующиеся в рассматриваемой области, могут состоять из
сотен или даже тысяч кадров, каждый из которых может содержать
4несколько слоёв с ориентирами, к производительности компонента сцены предъявляются повышенные требования.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе выполнения работы были выполнены следующие задачи:
1. Выполнен обзор разрабатываемого приложения и используемых
в нем технологий.
2. Выполнен обзор решений для рендеринга в рамках JavaFXприложения.
3. Разработана система для отрисовки кадров, ориентиров и ассоциаций с применением выбранного решения.
4. Разработана система для управления сценой в рамках новой реализации.
5. Выполнен обзор методов измерения производительности сцены,
проведено сравнение реализаций.
6. Проведена апробация приложения с оптимизированной сценой.
Ссылка на репозиторий GitHub с исходным кодом разрабатываемого
инструмента: github.com/prime-slam/SOLVE.
Ссылка на аккаунт, с которого велась разработка: github.com/mists.


[1] Baimagambetov Almas. High Performance Render¬
ing in JavaFX.— URL: https://foojay.io/today/ high-performance-rendering-in-javafx/ (дата обращения: 2024-04-28).
[2] Built-in render solutions comparison repository. — URL: https: //github.com/prime-slam/SOLVE/tree/render-solution-tests (дата обращения: 2024-04-28).
[3] Cartographer repository.— URL: https://github.com/ cartographer-project/cartographer (дата обращения: 2024¬04-28).
[4] Design Patterns: Model-View-Controller. A Compound Design Pat¬tern. — URL:https://cs.smu.ca/~porter/csc/465/notes/design_ patterns_mvc.html (дата обращения: 2024-04-28).
[5] JOGL official site.— URL: https://jogamp.org/jogl/www/ (дата обращения: 2024-04-28).
[6] JavaFX library official site.— URL: https://openjfx.io/ (дата обращения: 2024-04-28).
[7] Khronos OpenGL Wiki. OpenGL shaders.— URL: https://www. khronos.org/opengl/wiki/Shader (дата обращения: 2024-04-28).
[8] Khronos OpenGL Wiki. Rendering Pipeline Overview. — URL: https: //www.khronos.org/opengl/wiki/Rendering_Pipeline_Overview (дата обращения: 2024-04-28).
[9] Khronos OpenGL Wiki. Texture.— URL: https://www.khronos. org/opengl/wiki/Texture (дата обращения: 2024-04-28).
[10] Khronos OpenGL Wiki. Uniform (GLSL).— URL: https:// www.khronos.org/opengl/wiki/Uniform_CGLSL) (дата обращения: 2024-04-28).
[11] Khronos OpenGL Wiki. Vertex Specification.— URL: https://www.khronos.org/opengl/wiki/Vertex_Specification (дата обращения: 2024-04-28).
[12] Kotlin programming language official site.— URL: https:// kotlinlang.org/ (дата обращения: 2024-04-28).
[13] Lightweight Java Game Library official site.— URL: https://www. lwjgl.org/ (дата обращения: 2024-04-28).
[14] MinimalLWJGLEngine repository.— URL: https://github.com/ ambrosiogabe/MinimalLWJGLEngine (дата обращения: 2024-04-28).
[15] Mobile Robotics Lab official site.— URL: https://sites.skoltech. ru/mobilerobotics/ (дата обращения: 2024-04-28).
[16] ORB-SLAM2 repository.— URL: https://github.com/raulmur/ ORB_SLAM2 (дата обращения: 2024-04-28).
[17] OpenGL official site.— URL: https://www.opengl.org/ (дата обращения: 2024-04-28).
[18] OpenGl libraries comparison repository.— URL: https://github. com/prime-slam/SOLVE/tree/gpu-rendering-libs-tests (дата обращения: 2024-04-28).
[19] Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age / Cesar Cadena, Luca Carlone, Henry Carrillo et al. // IEEE Transactions on Robotics.— 2016.— Vol. 32, no. 6. —P. 1309-1332.
[20] System Usability Scale.— URL: https://www.usability.gov/ how-to-and-tools/methods/system-usability-scale.html (дата обращения: 2024-04-28).
[21] TorandoFX framework official site.— URL: https://tornadofx.io/ (дата обращения: 2024-04-28).
[22] Плоскин А. Е. Разработка сцены инструмента для визуализации и редактирования распознавания ориентиров в SLAM алгоритмах // Сайт кафедры Системного Программирования Математико Механического факультета СПбГУ. — 2023. — URL: https://se.math.spbu.ru/thesis/texts/Ploskin_Aleksandr_ Evgen'evich_Spring_practice_3rd_year_2023_text.pdf (дата обращения: 2024-04-28).


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ