Найдите абсолютное положение в карте, которая выравнивает соответствия сегмента
находит абсолютное положение последнего добавленного представления, которое выравнивает соответствия сегмента обнаруженного закрытия цикла. Функция ищет соответствия сегмента между последним добавленным представлением и функциями сегмента в подкарте, заданной 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
)'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.