individual errore from g2o file

34 views
Skip to first unread message

Iacopo Fornai

unread,
May 17, 2025, 9:53:24 AMMay 17
to gtsam users
Hi,
I'm conducting research on a multi-robot SLAM system and I'm using the GNC optimizer to optimize the pose graph (in .g2o format). I'm currently using GTSAM to compute the global optimization error, but I would like to explore a new direction: calculating the individual error for each robot to better understand how each robot contributes to the overall error.

Is there a way to do this using GTSAM?
Does anyone have any advice or suggestions on how to approach this?

thanks,
Iacopo

Dellaert, Frank

unread,
May 17, 2025, 10:09:04 AMMay 17
to Iacopo Fornai, gtsam users
Sure. A FG is just a vector of shared pointers, so you could keep track of the individual robot factors easily in a separate factor graph and calling “error”. The factors themselves will not be duplicated because of the shared pointer construct.

Frank

From: gtsam...@googlegroups.com <gtsam...@googlegroups.com> on behalf of Iacopo Fornai <iacopofo...@gmail.com>
Sent: Saturday, May 17, 2025 9:53:23 AM
To: gtsam users <gtsam...@googlegroups.com>
Subject: [GTSAM] individual errore from g2o file
 
You don't often get email from iacopofo...@gmail.com. Learn why this is important
--
You received this message because you are subscribed to the Google Groups "gtsam users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gtsam-users...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/gtsam-users/fdd10ca3-8b78-447f-87b6-5e741b1590edn%40googlegroups.com.

Iacopo Fornai

unread,
May 17, 2025, 10:53:29 AMMay 17
to gtsam users

Thanks for your help.
I have two questions:

  1. The idea of keeping track of individual robot factors is very good, but how should I handle inter-robot loop closures? These are constraints between poses of different robots.

  2. Should I call error on each individual factor graph using the globally optimized values?
    To clarify, is this the correct workflow?

    • Optimize the global factor graph

    • Divide the global optimized factor graph into individual factor graphs for each robot

    • Call error on each individual factor graph

Reply all
Reply to author
Forward
0 new messages