I have a non linear factor graph setup with between factors for odometry measurements and GPS factors attached at a lower frequency. I initialise the node heading using an approximation with the GPS but set the pitch and roll to 0 with sigma errors in the range of 2.5 -> 10. My sensors are on a ground vehicle so pitch and roll should typically stay close to 0.
My graph is fine with the odometry on its own and the XY components look good when I optimise together with GPS. However, my angles can spiral out of control. At times the roll keeps on increasing (to about 2000 degrees).
Is this a commonly observed artefact? If so, what are some means of handling it? I am presuming there is too much freedom for the optimiser. I thought about adding a PartialPriorFactor to each node setting pitch and roll to 0, with some degree of error to see if I can reduce this.
Any advice?