If you create a PinholeBaseK camera and call project, with known pose and point and with optional Jacobians, then you’ll get a 2*6 Jacobian F and a 2*3 Jacobian G. I think then the answer is just
Cov = F * Cov_pose * F’ + G * Cov_point * G’
Mattias can sanity check me 😊
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/2abdf79e-706b-430e-9bbd-0f1377a832cdn%40googlegroups.com.
In general, btw, you could create *any* expression in GTSAM using Expression.h, using constants for things you know, and Expression<T>s for anything that is variable or uncertain, and then the expression will have OptionalJacobians (use Evaluate), and then do the same:
Expression<T1> t1(1); // 1 is an example key, you can use any key you want
Expression<T2> t2(2);
Expression<T> f = ….;
T f_value = f.evaluate(t1_value, t2_value, …, H1, H2, …);
Matrix Cov_f = H1 * Cov1 * H1’ + H2 * Cov2 * H2’ + …
Might not compile as stated 😊 Needs tightening.
Frank