Найти абсолютную позу на карте, которая выравнивает совпадения сегментов
находит абсолютную позу последнего добавленного вида, который выравнивает совпадения сегментов обнаруженного замыкания контура. Функция ищет совпадения сегментов между последней добавленной формой и элементами сегмента внутри подкарты, указанной в absPoseMap = findPose(sMap,refPose)SelectedSubmap имущество sMap.
[ возвращает идентификатор представления, содержащего наибольшее количество вложенных элементов. Использовать 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 в дополнение к любой комбинации аргументов из предыдущих синтаксисов.
[___] = findPose(___, указывает параметры, использующие один или несколько аргументов «имя-значение» в дополнение к входным аргументам в предыдущих синтаксисах. Например, Name,Value)'MaxThreshold',1.5 устанавливает порог соответствия равным 1.5 процентов.
Удаление сегментов с карты с помощью deleteSegments, перед использованием findPose функция, может улучшить производительность.
findPose находит абсолютную позу сегментированного облака точек с помощью алгоритма SegMatch [1] для распознавания места. Функция находит совпадения между интересующими сегментами и сегментами на карте и возвращает абсолютную позу, которая выравнивает совпадения сегментов на карте.
Map Building: Loop Closure Detection - Замыкание контура начинается с нахождения абсолютной позы путем нахождения совпадений сегментов между последним добавленным видом и элементами сегмента в выбранной подкарте, которая определяется SelectedSubmap свойства карты.
Последнее добавленное представление соответствует замыканию цикла, когда findPose может оценить допустимое геометрическое преобразование. Если функция не может оценить это преобразование, то функция возвращает пустое значение для absPoseMap.
Построение карты: Правильный дрейф - чтобы исправить дрейф, добавьте вид, который содержит больше всего внутренних элементов для замыкания контура в качестве соединения с набором видов облака точек pcviewset объект как соединение с использованием addConnection объектная функция. Используйте optimizePoses функция для коррекции накопленного дрейфа.
Локализация - чтобы найти абсолютную позу облака точек на карте, функция ищет совпадения сегментов между текущими элементами currentFeatures и подкарту, указанную SelectedSubmap имущество sMap. Если невозможно оценить допустимое геометрическое преобразование, функция возвращает пустое значение для absPoseMap выходной аргумент.
Визуализация - используйте inlierFeatures и inlierSegments выходные аргументы с pcshowMatchedFeatures функция для визуализации совпадений сегментов между элементами и сегментами, включенными в карту.
[1] Дюбе, Рено, Даниэль Дугас, Елена Штумм, Хуан Ньето, Роланд Зигварт и Сесар Кадена. «SegMatch: распознавание места на основе сегментов в облаках точек 3D». В 2017 году IEEE Международная конференция по робототехнике и автоматизации (ICRA), 5266-72. Сингапур, Сингапур: IEEE, 2017. https://doi.org/10.1109/ICRA.2017.7989618.