Оптимизируйте узлы в графике положения
настраивает положения на основе их ограничений ребра, заданных в заданном графике, чтобы улучшить полный график. Вы оптимизируете или 2D или 3-D график положения. Возвращенный график положения имеет ту же топологию с обновленными узлами. updatedGraph
= optimizePoseGraph(poseGraph
)
Эта оптимизация графика положения принимает все ограничения ребра, и закрытия цикла допустимы. Чтобы рассмотреть ребра обрезки на основе плохих закрытий цикла, смотрите trimLoopClosures
функция.
задает тип решателя для оптимизации графика положения.updatedGraph
= optimizePoseGraph(poseGraph
,solver
)
[
возвращает дополнительную статистику о процессе оптимизации в updatedGraph
,solutionInfo
] = optimizePoseGraph(___)solutionInfo
использование любого из предыдущих синтаксисов.
[___] = optimizePoseGraph(___,
задает дополнительные опции с помощью одного или нескольких Name,Value
)Name,Value
пары. Например, 'MaxIterations',1000
увеличивает максимальное число итераций к 1 000.
[1] Гризетти, G., Р. Каммерл, К. Стэкнисс и В. Бергард. "Пример на Основанном на графике SLAM". IEEE Интеллектуальный Системный Журнал Транспортировки. Издание 2, № 4, 2010, стр 31–43. doi:10.1109/mits.2010.939925.
[2] Carlone, Лука, Роберто Трон, Костас Даниилидис и Франк Деллэерт. "Методы инициализации для 3D SLAM: Обзор Оценки Вращения и ее Использования в Оптимизации Графика положения". 2 015 Международных конференций IEEE по вопросам Робототехники и Автоматизации (ICRA). 2015, стр 4597–4604.
trimLoopClosures
| addRelativePose
| removeEdges
| edgeNodePairs
| edgeConstraints
| findEdgeID
| nodeEstimates