В этом примере показано, как использовать matchScansLine функция для оценки относительной позы между сканированиями лидара с заданной начальной оценкой. Идентифицированные функции линии визуализируются, чтобы показать, как алгоритм сопоставления сканирования связывает функции между сканированиями.
Загрузите пару сканирований лидара. .mat файл также содержит начальное предположение о относительной разнице позы, initGuess, которые могут быть основаны на одометрии или других данных датчиков.
Задайте параметры для извлечения элемента линии и связи. Шум данных лидара определяет порог сглаживания, который определяет, когда происходит разрыв линии для конкретного признака линии. Увеличьте это значение для более шумных данных лидара. Масштаб совместимости определяет, когда элементы считаются совпадающими. Увеличьте это значение для ограничений на ослабление параметров функции линии.
Звонить matchScansLine с заданным начальным предположением и другими параметрами, указанными как пары имя-значение. Функция вычисляет линейные характеристики для каждого сканирования, пытается сопоставить их и использует общую оценку, чтобы получить разницу в позе.
После сопоставления сканирований, debugInfo выходные данные предоставляют информацию о параметрах обнаруженных функций линии, [rho alpha]и гипотеза о том, какие особенности совпадают между сканированиями.
debugInfo.MatchHypothesis указывает, что первая, вторая и шестая строки s1 соответствуют пятому, второму и четвертому элементам в s2.
Предоставленная вспомогательная функция отображает эти два сканирования и элементы, извлеченные с помощью меток. s2 преобразуется в один и тот же кадр на основе начального предположения для относительной позы.
Использовать оценочную относительную позу из matchScansLine преобразовать s2. Затем постройте график обоих сканирований, чтобы показать, что относительное различие позы является точным, а сканирование наложено, чтобы показать одну и ту же среду.