question:What's the difference between factorGraph and poseGraph/3D?

31 次查看(过去 30 天)
In recent years, the navigation toolbox has become more and more supportive of pose graph optimization, with the introduction of functions such as "poseGraph/3D"(R2019b intruduced) and "factorGraph"(R2022a intruduced). Their Object functions are similar in many ways, but I am curious as to what is the fundamental difference between these two types of pose graphs? Which one should I choose to use when I have a problem? It seems that the "addPointLandmark" in "poseGraph/3D" and the "addFactor in "factorGraph"?
I also understand from other sources that the pose graph is a special case of the factor graph? Is the latter more applicable to the situation?
I look forward to a clear explanation and thanks in advance!

采纳的回答

cui,xingxing
cui,xingxing 2022-12-12
编辑:cui,xingxing 2022-12-12
Using the official example "Landmark SLAM Using AprilTag Markers", I partly understand that factorGraph is more general than poseGraph/3D, mainly below items:
1, factorGraph can fuse different types of odometer data, e.g. the main program can fuse GPS, IMU, etc. (It would be nice to have additional factorWheel support in future versions).
2, factorGraph can also specify the initial state through the factorPoseSE3Prior object function, unlike poseGraph which can only build a trajectory graph from the origin.
3, factorGraph performs faster in terms of pose graph optimisation performance, except for a bit of overhead when building objects.
4,factorGraph has no limitations or caveats when it comes to deploying generated C code.
5,factorGraph supports the import of files with the ".g2o" suffix.
That's all I've found so far, feel free to add any better answers.
  2 个评论
Zheng Dong
Zheng Dong 2022-12-12
Hi Cui,
Thank you for the answer! Factor graph is a new tool we introduced in R2022a, so we are still improving its documentations and implementing new features. In poseGraph, each node estimate is connected to the graph by edge constraints that define the relative pose between nodes and the uncertainty on that measurement, so the main measurement information utlized by poseGraph is relative pose. However, factorGraph is able to incorporate different types of information by defining different factors like factorIMU, factorGPS... Therefore, factorGraph is able to fuse multiple sensors for solving different SLAM problems. We will add more factors and examples in the future to illustrate how factorGraph works.
Thanks,
Zheng

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by