Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to implement spp (Single point positioning) based on /GNSS topic in UrbanLoco Dataset? #20

Open
chenwx63 opened this issue May 12, 2022 · 1 comment

Comments

@chenwx63
Copy link

Dear author,
I am grateful for your outstanding contribution to open-source dataset sharing. But I still meet some problems in implementing SPP and other positioning algorithms based on your Dataset which GNSS raw data is stored in /GNSS topic. Some details are as follows:

  1. I can not match the proper satellites from your dataset, you distinguish different satellites using "field.GNSS_RawsXX.prn_satellites_index", are they multi-system or single system.

  2. I Noticed that satellites' coordinates are given in your dataset, I tried to find every satellites in this day's all-system orbits files, but unfortunately I failed. It seems like there is not any matched satellite according to the Ephemeris files downloaded from the IGS website. Therefore, I am curious about how you record the satellites' coordinates in your observation and if I do something wrong about the satellites' matching.

  3. When I try to ignore the satellites matching and implement spp algorithm only rely on observation in /GNSS topic, and I use the first position in topic "bestpos" as the approximate initial value, I find that the difference between distance between satellite and receiver and pseudorange is too large (we have already taken clock bias and other errors into consideration ). So I am still confused about the satellites' coordinates presented in ./GNSS.

  4. Finally, I still want to post a question about units of variables, I suppose the unit of err_tropo and err_iono is "(m)", but I am a little confused about the unit of "sat_clk_err", generally speaking we will regard it as "10E(-6) s", but if we do so, this error seems to be too large, for the reason that it should multiply a "c" (light velocity) .

Thanks for your time to read. I am looking forward to your reply.

@weisongwen
Copy link
Owner

Hi @chenwx63 ! Sorry for the delayed reply as I am really holding back by the recent funding proposal. for your question, my answer is listed below (feel free to let me know if there is anything unclear):

Q1: for those satellite id 0~34, it is GPS satellites. For those >34, it is BDS.

Q2: you can directly use the satellite position encoded in the topic /GNSS_ which is decoded from the satellite ephemeris data.

Q3: you issue should be from the clock bias, the satellite clock bias should be already removed from the pseudorange measurements (you can quickly take a look). moreover, the satellite clock bias is in the unit of meters.

Q4:refer to Q3.

Let me know if you get any updates :-)

if you still cannot solve it, I could provide a short code for you to implement the SPP.

you may also wish to refer to our GraphGNSSLib!

Best,
Weisong,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants