Overview¶
The PseudorangeFactor family provides factors for incorporating GNSS pseudorange measurements into a GTSAM factor graph. Pseudorange factors model the distance between a satellite and the GNSS receiver along with their associated errors (atmospheric, multipath, clock bias, etc...). This more-tightly couples GNSS positioning within the general probabilistic graphical estimation framework compared to loosely-coupled GPSFactors. In other words, PseudorangeFactor integrates GNSS measurements in a “raw” form so the factor graph has the opportunity to correct GNSS measurements as part of the overall optimization process. Tightly-coupled GNSS filters also enable partial position observability even if the requisite minimum 4 satellites for an independent position calculation are not met.
Usage Example¶
import gtsam
from gtsam.symbol_shorthand import B, X
import numpy as np
cb_key = B(0) # Receiver clock bias variable key.
pos_key = X(0) # Receiver position variable key.
nm = gtsam.noiseModel.Diagonal.Sigmas(np.array([1.0]))
pf = gtsam.PseudorangeFactor(pos_key, cb_key, 123.45, np.array([123.45, 0.0, 0.0]), 0.0, nm)
pf.evaluateError(np.array([0.0, 0.0, 0.0]), 0.0)