Тема: РЕАЛИЗАЦИЯ АЛГОРИТМА ITERATIVE CLOSEST POINT
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ 6
ВВЕДЕНИЕ 7
1 ОБЩЕЕ ОПИСАНИЕ РАБОТЫ АЛГОРИТМА 9
1.1 Основные этапы работы алгоритма 9
1.2 Поиск ближайших точек 11
1.3 Геометрическая интерпретация KD-дерева 13
2 РАСЧЕТ ПАРАМЕТРОВ ПРЕОБРАЗОВАНИЯ 18
2.1 Вычисление вектора смещения 18
2.2 Вычисление матрицы поворота 20
2.3 Конечный алгоритм 23
2.4 Полное сингулярное разложение матрицы 24
2.5 Процесс ортогонализации Грама-Шмидта 25
3 ПРИМЕНЕНИЕ АЛГОРИТМА 26
3.1 Структура программы 26
3.2 Алгоритм работы 28
3.3 Результат совмещения 30
4 ЗАКЛЮЧЕНИЕ 38
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 39
СОДЕРЖАНИЕ 40
ПРИЛОЖЕНИЕ А 41
ПРИЛОЖЕНИЕ Б 48
Б.1. Файл main.cpp 48
Б.2. Файл IO.h 49
Б.3. Файл Optimization.cpp 51
Б.4. Файл Optimization^ 54
Б.5. Файл Registration.cpp 54
Б.6. Файл Registration^ 57
📖 Введение
Для автоматизации и ускорения процесса перевода поверхности модели в цифровой формат используется трёхмерное сканирование. Во время построения цифровых моделей появляется необходимость сканирования объекта с нескольких ракурсов в связи с перекрытием некоторых частей детали и ограниченным диапазоном датчиков. Результат сканирования представляет собой поверхность объекта, которая описана с помощью облака точек. Полученный скан и модель должны быть выровнены в общую систему отсчёта для дальнейшей обработки, чтобы иметь возможность измерять и классифицировать возможные ошибки в производстве.
В мобильной робототехнике сопоставление скана сцены с её моделью обычно используется для уточнения местоположения. В последнее время устройства SD-сканирования (например, Microsoft Kinect) привели к растущему интересу в области надежных алгоритмов совмещения. Низкая стоимость этих устройств сбора данных обеспечивается за счет плохого качества сканирования, что требует алгоритмов, которые способны иметь дело с большими объемами шума и выбросов.
Алгоритм ближайших точек имеет широкое применение в промышленной робототехнике. Он позволяет решать задачи позиционирования манипулятора во время обработки детали. Для того, чтобы выработать необходимый управляющий сигнал и обработать деталь по заданной траектории, необходима
её CAD модель. Однако модель находится в некоторой системе координат и вычислить траекторию обработки детали можно только в системе координат модели. Поэтому обработать деталь таким образом возможно лишь закрепив её в заранее известной точке.
Лазерное сканирование позволяет решить эту проблему. Благодаря сканеру и итеративному алгоритму ближайших точек возможно вычислить траекторию движения схвата манипулятора в его системе координат и обработать произвольно закреплённую деталь. Описанная выше задача решается путём вычисления матрицы преобразования из системы координат робота в систему координат модели. Зная эту матрицу, можно трансформировать траекторию движения схвата в системе координат модели в аналогичную траекторию в системе координат робота и обработать реальную произвольно расположенную деталь.
✅ Заключение
В процессе работы был изучен классический ICP алгоритм. В силу распространённости, а также удобства использования при работе с матрицами, выбран метод оптимизации с использованием сингулярного разложения матриц. Работа была направлена на практическое применение итеративного алгоритма ближайших точек. Результатом работы является рабочий программный код.
В процессе тестирования программы, были получены совмещённые облака точек и показана скорость сходимости критерия оптимизации. Недостатками данного алгоритма является плохое качество совмещения при больших углах поворота облаков точек относительно друг друга. Основные проблемы изученного алгоритма, которые необходимо решить для его улучшения, лежат в области формирования соответствующих пар точек и времени их поиска.



