chichengcn / gici-open

GNSS/INS/Camera Integrated Navigation Library
GNU General Public License v3.0
399 stars 112 forks source link

rank deficient when computing covariance of ppp_estimator #20

Closed 222233tommy closed 6 months ago

222233tommy commented 8 months ago

Hi, Dr. chi, thanks for your amazing work. I try to test the PPP-AR and meet the rank deficient problem of the jacobian matrix. I guess the cause may be related to the constant parameter while the sliding window is not full (jacobian rank = jacobian column -1). It seems that the problem will not occur on GPS-only measurements. Could you please help me with that? Thanks a lot! Screenshot from 2023-10-31 11-20-14

chichengcn commented 8 months ago

We did not extensively test the PPP-AR module. Could you provide the configuration file and the number of datasets?

222233tommy commented 7 months ago

Configuration file:

GICI offline pseudo-real-time PPP estimation. stream: streamers:

estimate:

logging: enable: true min_log_level: 0 log_to_stderr: true file_directory: /home/aae/projects/gici-open/data

dataset: 1.2

222233tommy commented 7 months ago

There is another issue when I test the dual-frequency PPP with BDS. I guess it may be related to the rank-deficient problem.

Error: W20231108 21:33:17.284116 7313 gnss_estimator_base.cpp:774] IFB for code 27 for system C has not been initialized!

I think the IFB size should be zero for dual-frequency PPP, but the result shows that it only optimizes with single-frequency observation since it fails to add all the dual-frequency observations.

chichengcn commented 7 months ago

Thanks for pointing out. We have fixed this BUG and uploaded the codes. This BUG is caused by improper strategy of adding initial constraints for ambiguity and ionosphere parameters. Please note that phase bias product is demanded for PPP-AR algorithm, but we did not provide this product in our dataset. Forcely applying PPP-AR algorithm without phase bias corrections may cause large errors in solutions.

As for the IFB issue, code 27 (BDS B2bI) is not one of the base frequencies (B1I and B3I), however our dual-frequency PPP algorithm was designed for the base frequencies. So perhaps this BUG is foreseeable. But anyway, you can provide the configuration file and the number of dataset. We will focus on this issue in future development.