Is there an equivalence to AddParameterBlock() in Ceres?

40 views
Skip to first unread message

Bart Gallet

unread,
Feb 13, 2023, 4:29:48 PM2/13/23
to gtsam users
Howdy folks,

Does GTSAM have the ability to declare a variable, such that this variable doesn't necessarily belong to a particular factor, but it takes part in certain type of factors?

For instance, in Ceres I can add a variable through addParameterBlock(), and then I can access this variable from a particular factor (e.g. passing a pointer via a functor).

In Ceres, I am using a parameter block to represent the pose of the NED origin in order to transform GPS measurements from lat/lon/alt to xyz, via that NED frame. Then my GPS factors implicitly use this transform.

In GTSAM I am getting around this by actually explicitly representing the location of the NED frame as a node in the pose graph, and my GPS factors now become binary factors between that NED node and the node to which the GPS measurements belong. It's not ideal.

It would be nice if I could do something similar as I was doing in Ceres. Is there some functionality in GTSAM that can achieve something similar?

Cheers

Bart

Dellaert, Frank

unread,
Feb 13, 2023, 10:20:06 PM2/13/23
to Bart Gallet, gtsam users

I think what you want is accomplished by expressions.

Look at the examples that include Expression.h

Frank

--
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 on the web visit https://groups.google.com/d/msgid/gtsam-users/1b19355c-5762-4289-8676-1f058f48b0fan%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages