Найдите абсолютное положение в карте, которая выравнивает соответствия сегмента
находит абсолютное положение последнего добавленного представления, которое выравнивает соответствия сегмента обнаруженного закрытия цикла. Функция ищет соответствия сегмента между последним добавленным представлением и функциями сегмента в подкарте, заданной absPoseMap = findPose(sMap,refPose)SelectedSubmap свойство sMap.
[ возвращает идентификатор представления для представления, которое содержит большую часть inliers. Используйте absPoseMap,matchViewId] = findPose(sMap,refPose)matchViewId добавить закрытие цикла как связь в pcviewset, использование addConnection объектная функция. Правильный для накопленного использования дрейфа optimizePoses.
находит абсолютное положение, которое выравнивает сегменты, которые соответствуют текущим функциям absPoseMap = findPose(sMap,currentFeatures)currentFeatures к сегментам в подкарте, заданной SelectedSubmap свойство sMap.
задает сегменты absPoseMap = findPose(sMap,currentFeatures,currentSegments)currentSegments это соответствует текущим функциям currentFeatures.
[___, возвращается inlier показывает inlierFeatures,inlierSegments] = findPose(___)inlierFeatures и сегменты inlierSegments inlier в дополнение к любой комбинации аргументов от предыдущих синтаксисов.
[___] = findPose(___, задает опции с помощью одних или нескольких аргументов name-value в дополнение к входным параметрам в предыдущих синтаксисах. Например, Name,Value)'MaxThreshold',1.5 устанавливает соответствующий порог к 1.5 процент.
Удаление сегментов от использования карты deleteSegments, перед использованием findPose функционируйте, может улучшать производительность.
findPose находит абсолютное положение сегментированного облака точек с помощью алгоритма SegMatch [1] для распознавания места. Функция находит соответствия между сегментами интереса и сегментами в карте, и возвращает абсолютное положение, которое выравнивает соответствия сегмента в карте.
Создание карты: Обнаружение Закрытия Цикла — закрытие Цикла запускается с нахождения абсолютного положения путем нахождения соответствий сегмента между последним добавленным представлением и функциями сегмента в выбранной подкарте, которая задана SelectedSubmap свойство карты.
Последнее добавленное представление соответствует закрытию цикла когда findPose функция может оценить допустимое геометрическое преобразование. Если функция не может оценить это преобразование, то функция возвращает пустое значение для absPoseMap.
Создание карты: Правильный Дрейф — Чтобы откорректировать для дрейфа, добавляет представление, которое содержит большую часть inliers закрытия цикла for, когда связь с представлением облака точек установила pcviewset возразите как связь с помощью addConnection объектная функция. Используйте optimizePoses функционируйте, чтобы откорректировать для накопленного дрейфа.
Локализация — Чтобы найти абсолютное положение облака точек в карте, функция ищет соответствия сегмента между текущими функциями currentFeatures и подкарта задана SelectedSubmap свойство sMap. Если это не может оценить, что допустимое геометрическое преобразование не может быть оценено, функция возвращает пустое значение для absPoseMap выходной аргумент.
Визуализация — использует inlierFeatures и inlierSegments выходные аргументы с pcshowMatchedFeatures функция, чтобы визуализировать соответствия сегмента между функциями и сегментами, включенными в карту.
[1] Дубе, Renaud, Дэниел Дугас, Елена Стамм, Хуан Ньето, Роланд Сигварт и Сесар Кадена. “SegMatch: Распознавание Сегмент Бэзед-Плэйс в 3D Облаках точек”. На 2 017 Международных конференциях IEEE по вопросам Робототехники и Автоматизации (ICRA), 5266–72. Сингапур, Сингапур: IEEE, 2017. https://doi.org/10.1109/ICRA.2017.7989618.