--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/787d1fdb-6ded-401a-afb4-a5a65ebebcfc%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
So lets assume our residual is formed by eq. 222: Where we have a direction measurement from a sun-sensor and our current orientation estimate to form the residual (eq. 228). The Jacobian of the measurement is the measurement Matrix H (eq. 232) This Matrix has 3 rows and 6 columns. (the state to be updated is the 3d orientation, where the full state in this example also includes an 3 element gyro bias).
Similarly I want to update an orientation estimate in Ceres using a 2D point measurement (simple BundleAdjustment). The Jacobian of this residual w.r.t. the state thus has 3x2 elements.
Because I templated SizedCostFunction with 4 (as the global size) I get this "too large" (4x2) Jacobian to fill in. This is the actual question which I was interested in: What does Ceres expect in the Jacobian entries along the null directions of the cost?
Simon
On Thursday, August 1, 2013 10:13:18 PM UTC-7, Sameer Agarwal wrote:Hi Simon,Let me try and understand the problem better.You have a residual function r(q) where q is your quarternion, where the quaternion is in JPl convention.Now you are going to need two things here. The jacobian of r w.r.t q and the local parameterization of q.Each of which can be implemented using autodiff or analytically. Which of these jacobians are you having trouble with? can you also show me the code fragment that you are using?Thanks,SameerOn Thu, Aug 1, 2013 at 9:25 PM, Simon Lynen <simon...@lynen.eu> wrote:
Hi Sameer,I use Quaternions in JPL convention[1] and provide an analytic Jacobian to Ceres. I have implemented the local parametrization for this convention, and when using Autodiff I get the correct results with my Jacobian/Residuals. However for the analytic Jacobians it seems I am doing something wrong, as the solver takes unsuccessful steps. We use the same analytic Jacobian in an EKF framework and I double checked it's correctness.I pass the global size (4) of this parameter block to SizedCostFunction when deriving from it. As a consequence Ceres gives me a 2x4 Jacobian for this state. Since the Jacobian is only of size 3x2 () I set the fourth column to zero. Apparently Ceres is evaluating the fourth value, since if left unset it leads Ceres to emit a "numerical failure".What am I missing, and what is the correct way of filling this Jacobian?Thank you, Simon[1] N. Trawny and S. I. Roumeliotis. Indirect Kalman Filter for 3D Attitude Estimation. University of Minnesota, Dept. of Comp. Sci. & Eng., Tech. Rep. 2005-002, March 2005.--To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/787d1fdb-6ded-401a-afb4-a5a65ebebcfc%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/e93b0e7a-9094-4182-9c7f-32595e4cfab0%40googlegroups.com.
Sorry, forgot to answer the other point:- The Jacobian for O-Plus (in the local parameterization) w.r.t. q is fine as it works fine when used by an Autodiff cost function.- The Jacobian of the residual w.r.t. the state's quaternion is the one that the question is about.
It is hard for me to use Autodiff for the latter, since the residual calculation involves IMU constraints and functions which I can't template for Jet.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/78ee8fc8-4132-4af7-bdd6-bdf31c5e728b%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/7c685a5d-4c6c-47aa-b332-6f953adc83bd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/d63c54b2-2830-4385-b11d-a09f6cb25a92%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/3a87f930-ce7d-4160-a091-b172b484bb2e%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/80452d74-500d-401c-a15e-3302668ed267%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/4170ed76-6ff9-442f-88cb-32fe5cf5b076%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/19067bc1-de1a-443b-9ef3-20615dc81886%40googlegroups.com.