Оптимизируйте узлы в графике положения
корректирует положения на основе их ребра ограничений, определенных в указанном графе, чтобы улучшить общий график. Вы оптимизируете 2-D или 3-D график положения. Возвращенный график положения имеет ту же топологию с обновленными узлами. updatedGraph
= optimizePoseGraph(poseGraph
)
Эта оптимизация графика положения предполагает, что все ограничения ребра и замыкания цикла действительны. Чтобы рассмотреть возможность обрезки ребер на основе плохих замыканий цикла, смотрите trimLoopClosures
функция.
задает тип решателя для оптимизации графика положения.updatedGraph
= optimizePoseGraph(poseGraph
,solver
)
[
возвращает дополнительную статистику о процессе оптимизации в updatedGraph
,solutionInfo
] = optimizePoseGraph(___)solutionInfo
использование любого из предыдущих синтаксисов.
[___] = optimizePoseGraph(___,
задает дополнительные опции, используя один или несколько Name,Value
)Name,Value
пар. Для примера, 'MaxIterations',1000
увеличивает максимальное количество итераций до 1000.
[1] Grisetti, G., R. Kummerle, C. Stachniss, and W. Burgard. «Учебное руководство по SLAM на основе графа». Журнал интеллектуальных транспортных систем IEEE. Том 2, № 4, 2010, стр. 31-43. doi: 10.1109/mits.2010.939925.
[2] Carlone, Luca, Roberto Tron, Kostas Daniilidis и Frank Dellaert. «Initialization Методов for 3D SLAM: a Survey on Rotation Estimation and Use in Pose Graph Optimization». 2015 IEEE International Conference on Robotics and Automation (ICRA). 2015, стр 4597–4604.
addRelativePose
| edgeConstraints
| edgeNodePairs
| findEdgeID
| nodeEstimates
| removeEdges
| trimLoopClosures