tomojitakasu / RTKLIB

2.43k stars 1.56k forks source link

Tutorial to set up RTKLIB in Base and Rover #166

Open PellePettersson opened 8 years ago

PellePettersson commented 8 years ago

I'm struggling with setting up an RTK solution for Pixhawk. Please help! This is my config: BASE: U-blox NEO M8T (NEO-M8T Time & RAW Triple Band +HMC5983 Tallysman TW2710 for RTK) Setup in U-center sending: RXM-RAWX and RXM-SFRBX no NMEA Connected to USB on a Lattepanda (Windows 10) running STRSRV STRSRV sending 1004,1006,1012,1019,1020 with RTCM3 over TCP Server ROVER: (1) Rover: U-blox NEO M8T (serial 9600 u-blox) (2) Base Station TCP (Client RTCM3) options: Setting1 Kinematik, L1+L2 Position Antenna position

I will only get poor positions scattered 20-30m! Very seldom float or fix. What am i doing wrong?

tomojitakasu commented 8 years ago

9600bps is not enough for RXM-RAWX and RXM-SFRBX even for 1Hz update. In M8N/T, the UART1/UART2 bitrate should be large enough even if they are not used. Please check your serial port bitrate, and try again.

PellePettersson commented 7 years ago

I am using a lattepanda as base station but the computer seems to not be able to send RTCM3 data. I can send u-blox data over network but not serial over USB-port. Do i have to send RTCM3 data or can i send u-blox data instead to rover as base-station data? (I do not know RTKLIB so well).

DavidKelleySCSC commented 7 years ago

As tomojitakasu states, get your baud rates up, 19k or better.

You said: I can send u-blox data over network but not serial over USB-port. This suggests to me that you might have a common issue with your serial drivers, can you confirm they in fact send/receive before integrating the parts here. Or are you saying that is the only connection to your rover?

You said: can i send u-blox data instead to rover as base-station data? Yes, and there is some value in doing this in that RTKLIB can then get the Doppler data that would be lost in the 1004 message. I do not know how Pixhawk deals with raw uBx messages traffic, please confirm they can cope as well.

PellePettersson commented 7 years ago

Thank you David! I am now running at 115200 against my GPS. I have not got any help from lattepanda but i Think that it has to do with USB-port handling. I am now running Basestation (STRSVR) in lattepanda with GPS connected to USB at 115200bps and sending u-blox data from STRSVR over TCP Server. That is working! Thanks for that info. Next step will be to send corrected GPS data to my pixhawk. I plan to use corrected GPS data from RTKLIB instead of the original GPS antenna. Then Pixhawk will be able to handle this. Can you please inform me the best way to do this? Thanks again for your kindness to answer. By the way, this is a Project for steering a big Agricultural Tractor.

PellePettersson commented 7 years ago

I have tested with Serial Port Utility software, and then i can send data over the serial port on Lattepanda (USB9) I am sending over radio link (ACP220), and I can send data back and forth with Serial Port Utility.

When i use STRSVR to send data over serial port (USB9) nothing is transmitted. If I use TCP server, then I can transmitt data. If i look in STRSVR it seems like it is sending. Green blink and counting up Bytes and showing bps both for Input and Output. I would really like to use radio-link over serial port instead of using TCP. Please help! Have i forgotten to do something????

PellePettersson commented 7 years ago

I have done the following test also: Test1. (Laptop sending to Lattepanda)

Test2. (Lattepanda sending to Laptop)

Seems that the problem is in Win10 Lattepanda!? ...or? Test3. Manually Sending data ONLY WITH Serial Port Utility works fine both from Laptop and from Lattepanda!

PellePettersson commented 7 years ago

This is also something that i have noticed: If i am running RTKNAVI in Lattepanda there is no bars showing sattelites in the grafik area. It works in my laptop but not in Lattepanda. Something is not the same when running RTKNAVI in win10 in my Laptop compared to running RTKNAVI in win10 Lattepanda. Any ideas? Something has to do with using RTKNAVI or STRSVR in win10 Lattepanda. Software versions? Please i need help here.

PellePettersson commented 7 years ago

I'm almost giving up now... Perhaps Navspark is a better solution for me. I know to Little about a-lot. :-)

DavidKelleySCSC commented 7 years ago

PellePettersson Appreciate this must be frustrating to try so many things, but I for one remain clueless on what to suggest. I presume your two setting files are the same between Lattepanda and the PC. Please send you .ini files and we can check, send them directly if you have some sort of Caster password stuff in there you can not strip out. My own simple mindset here is that you still have some odd serial driver problem on the Lattepanda (or perhaps the ACP220 which looks like a simple serial device to me). The web site indicated this is an Intel chip, but seeing a few other 'normal' windows PC tools run on it might serve to indicate that its drivers really work as expected (Termint, Hyperterm, simpleNTRIP, etc., etc.).
As a really dumb test (excuse me for suggesting this), when you plug in another USB plug, does the new serial port show up in the RTKLIB drop downs? Is there some sort of clear to sent on the ACP220 setting that needs to be established (http://www.dfrobot.com/wiki/index.php/APC220_Radio_Data_Module%28SKU:TEL0005%29)? [On the use of Navspark, here we have moved from PandaBoards to BBB to the Dragon board (over a 5 year span) and have a bit more 'room' now but all the normal programming headaches still.]

PellePettersson commented 7 years ago

ACP220 works if i use Serial Port Utility. A new Connection will show up in RTKLIB dropdown, yes. I donot understand what you mean here: [On the use of Navspark, here we have moved from PandaBoards to BBB to the Dragon board (over a 5 year span) and have a bit more 'room' now but all the normal programming headaches still.]

PellePettersson commented 7 years ago

Sad but true, I give up Lattepanda....i'm stuck! I will order NAVSPARK and try if that will work better for me. I will order NS-HP-GL (1HZ Base) and NS-HP-GL-10 (10HZ Rover) Any good advises from you experts? What to take under consideration?

PellePettersson commented 7 years ago

I have to take up this again. The problem is to transfer the data over radiolink! The Radiolink ACP220 is sending data and the other ACP220 is receiving data but RTKNAVI can not understand the data stream. RTKNAVI will understand if I use TCP Server/Client. Do I have to convert to HEX or something before I send and then convert back before reading data. OR, Should I use another radilink instead of ACP220?

DavidKelleySCSC commented 7 years ago

On the whole the RTKNAVI tool should just accept this a simple serial stream. Is it possible there is some simple thing like mangled start/stop bits or the baud rate that is the core issue here? Do you have the tell this radio that the information stream is binary (and not ASCII). You certainly do not have to take an extra step and convert things to Hex (by this you mean binary express in string like "0x00ff1234.." I presume)

As to the ACP220, I have no professional opinion but can see not reason why it would not basically work for you. If the "the other ACP220 is receiving data " lends itself to a file capture, post that. But if there is some garbled transmission of the raw information, it may not be decodable by others.

Please Try this: On RTKNAVI is a small monitor widget feature just above the start button, a tiny rectangle. This is your primary tool when data seems bad. Open the monitor, selected 'base station' from the drop down. Examine the decoder data stream you see with the various formats (Hex, ASCII, RTCM3) and see what you can determine about that nature of the data in the stream. If RTKNAVI reads RTCM3 or uBlox, you are almost home.

As I understand your set up you are also sending this data out from you device with STRSVR, you might want to rig up another out stream so you can also look at the data being send (with yet another copy of RTKNAVI and the monitor connected to it) to confirm what the "goes into" side of the radio link looks like. I know the number of connection is getting confusing here, sorry. Just trying to find you a clean way to "prove" that the radio element of the design is not corrupting the data stream.

[If needed, can have you send your stream to one our casters so we can look at your data, but that does nothing to help if the problem is in the receiving side radio, which looks to me to be the most likely issue in all this]

PellePettersson commented 7 years ago

THANKS DAVID! This is how it looks if I monitor hex in Serial Port Utility when using TCP: rtk_tcp This is how it looks if I monitor hex in Serial Port Utility when using Serial over Radio Link: rtk_serial This is how it looks if I monitor hex in RTKNAVI RTK Monitor when using TCP: rtknavi_tcp rtk_t This is how it looks if I monitor hex in RTKNAVI RTK Monitor when using Serial over Radio Link: Nothing shows up! rtknavi_serial rtk_s

I am sending u-blox from STRSVR In all cases. I'm really confused now! The Hex-data seems to be the same from TCP and Serial Radio Link.....(as I can see) This is the Hex-data from Radio Link: B5 62 02 13 18 00 06 01 00 08 04 17 01 00 B6 79 EB 4F 95 C0 F4 93 00 C8 40 18 04 00 89 07 51 EB B5 62 02 13 18 00 06 02 00 03 04 1B 01 00 B6 79 EB 4F 95 C0 F4 93 00 C8 40 18 04 00 89 07 51 E5 B5 62 02 15 90 01 C5 D1 AF FE F3 FF 10 41 76 07 11 0C 01 00 00 00 69 9E BD 54 B1 44 78 41 4B 8F FD E7 FA E1 9F 41 D4 DB EE C4 00 0F 00 00 00 00 15 0B 0F 0C 01 00 8C 4A 40 4C D2 F2 74 41 BB EB 35 4E 74 85 9B 41 E0 E9 CE 42 00 11 00 00 DC 05 1D 08 04 09 03 00 7E 7A 19 C7 66 E2 75 41 04 F6 EA 37 62 3C 9D 41 71 D8 BD 45 06 0B 00 07 00 00 17 0B 0F 0C 01 00 38 2B 4A 8C DE F4 77 41 BD F6 B8 AE 1B 79 9F 41 6F 87 91 45 00 03 00 00 D4 12 1B 07 04 08 03 00 B4 5B 46 8E 0C 2F 77 41 31 A3 77 E8 38 75 9E 41 8F 48 3C C4 00 01 00 00 F4 FB 2A 05 01 06 0F 00 EE 67 CA E3 FC D8 77 41 12 CC 3A 8C 7B 54 9F 41 BE 39 98 C4 00 0A 00 00 B4 87 1B 07 04 08 07 00 61 7E 02 9B 05 5E 77 41 59 BD F6 F2 EE B2 9E 41 1C F0 5C 45 00 16 00 00 F4 FB 27 05 01 06 07 00 49 AD 85 2A D2 80 75 41 15 BA B2 30 B1 AF 9C 41 D6 8D 9A 45 06 02 00 03 F4 FB 21 07 02 08 07 00 10 71 FC 89 C6 55 75 41 4D A3 75 38 74 07 9C 41 23 62 53 45 00 20 00 00 F4 FB 29 05 01 06 0F 00 F2 51 2B CA 16 20 74 41 A1 C5 4F C8 8C DB 9A 41 25 9E 84 C4 06 12 00 04 00 00 1A 0A 0F 0B 01 00 06 52 FB 19 7F D1 76 41 8F 1A 3B BD 50 FA 9D 41 B4 39 94 45 00 0E 00 00 F4 FB 2A 05 01 06 0F 00 AF E3 25 F1 D6 3C 74 41 BE BC 04 9B A2 0B 9B 41 E5 A0 5F 44 06 01 00 08 F4 FB 21 07 02 08 0F 00 70 54 24 47 4E 54 58 54 2C 30 31 2C 30 31 2C 30 31 2C 4E 4D 45 41 20 75 6E 6B 6E 6F 77 6E 20 6D 73 67 2A 34 36 0D 0A

PellePettersson commented 7 years ago

If I am using Serial Port Utility on both ends there is no problem sending messages back and forth with APC220. If I am using RTKLIB nothing will be transmitted over APC220???? I have also tested to send messages with Arduino back and forth with APC220 and that works also..! The driver I am using is the Silicon Labs C210x USB to UART Bridge for APC220. Have you done any testing with RTKLIB (RTKSRV) using that driver?

PellePettersson commented 7 years ago

By the way, receive buffer is 256 byte on APC220. (I do not know if that matters) I do not know if there is any restrictions sending binary data. I can send HEX and Text thou. I'm to ignorant to know the difference.. :-| Do you think this is the problem? (I found it by googling) skarmklipp

PellePettersson commented 7 years ago

I will go and buy the xbee pro s3b, just to verify if it has to do with APC220. I will let you know the result.

DavidKelleySCSC commented 7 years ago

[Side note: From whom did you get the ACP220 devices you are using? We might be able to replicate things if we can secure that exact hardware is see if there is some odd comm link issue here (but I can not promise you). We have a short list of radio links others have asked us to add support on our SNIP tool, and that is my motivation to dig into this deeper. ]

On the whole, this still seem to be something off in the comm link receiver side. A dumb question about the nature of the radio link, is it broadcast or point to point? In other words could a 3rd device hear the message traffic from the sender to the receiver? And regarding RTS, this needs to be asserted in order to have the data be sent. Perhaps your different software configurations are not alike, can you hang a DVM on that pin and see. [We use those Silicon Labs drivers here, but I am not familiar with the details.] Here is useful link on all things serial ports http://www.tldp.org/HOWTO/Serial-HOWTO.html#toc19

FYI, the 256 byte buffer is itself fine but ONLY as long as it is read before an over run can occur (probably about ten times a second here for 1Hz update rates). Is there a way to detect such an overrun? Does it occur? This is more of a detailed device driver issue. The data rate from uBlox (or from RTCM) will be upwards of 2K/sec and many of the messages will be >255 bytes in length (RXM-RAW is often 300+). But this does not serve to explain why there is NO data, rather than simply lost data.

PellePettersson commented 7 years ago

OH! I have written ACP but should have been APC220! I have bought it from china. https://www.aliexpress.com/item/APC220-Wireless-RF-Modules-w-Antennas-USB-Converter-for-Arduino/32223931643.html?spm=2114.13010608.0.59.9iat1l The APC220 is a Point to point transmitter where I can select unique addresses for them. http://www.dfrobot.com/wiki/index.php/APC220_Radio_Data_Module%28SKU:TEL0005%29

PellePettersson commented 7 years ago

I succeeded! I have to run STRSVR ver.2.4.3 b9 and RTKNAVI ver.2.4.3 b9 Than it WORKS!! Now I am sending over radiolink APC220!

roger-zhao commented 7 years ago

@PellePettersson , Hi, I'm also want to use M8T as base and rover for testing RTKLib, but it's unlucky for me that it's easy to get FLOAT but very hard to FIX both Static mode and Kinematic mode, I dont know how to setup base for my rover, do I need a powerful antenna for base, or do I need to exactly get the accuracy base station position? here's what I've met, could you pls have a view on it? Tks!

Here’s the RTKLib version I’m trying: RTKLIB-2.4.3-b18 and rtkexplorer's github Demo5; Base is running in PC by using str2str, rover is running in BBB by rtkrcv, the two M8T config is the same: 10Hz , 115200 baudrate, GPS RAW in UART1, here’s the cmd file: —————————————————- !UBX CFG-RATE 100 1 1

!UBX CFG-MSG 2 21 0 1 0 0 0 0

!UBX CFG-MSG 2 19 0 1 0 0 0 0

!UBX CFG-PRT 1 0 0 2240 115200 1 1 0 0

@ !UBX CFG-MSG 2 21 0 0 0 0 0 0

!UBX CFG-MSG 2 19 0 0 0 0 0 0 —————————————————- and for base in str2str, the config is almost like this ("-p " is just a example): ./str2str -in serial://ttyUSB0:115200:8:n:1:off#ubx -t 1 -out tcpsvr:@:8989#rtcm3 -c ./ubx_m8t_raw_10hz.cmd -msg “1002, 1006, 1013, 1019” -p 52.14271937 3.244610005 502.222

and here’s the config for rover (sorry, it’s a little big, and it’s almost the conf but not complete, such as tcpsvr IP I didn’t type it): —————————————————-

RTKNAVI options (2016/08/24 12:37:44, v.2.4.2)

pos1-posmode =static # (0:single,1:dgps,2:kinematic,3:static,4:movingbase,5:fixed,6:ppp-kine,7:ppp-static,8:ppp-fixed) pos1-frequency =l1+l2 # (1:l1,2:l1+l2,3:l1+l2+l5,4:l1+l2+l5+l6,5:l1+l2+l5+l6+l7) pos1-soltype =forward # (0:forward,1:backward,2:combined) pos1-elmask =15 # (deg) pos1-snrmask_r =off # (0:off,1:on) pos1-snrmask_b =off # (0:off,1:on) pos1-snrmask_L1 =0,0,0,0,0,0,0,0,0 pos1-snrmask_L2 =0,0,0,0,0,0,0,0,0 pos1-snrmask_L5 =0,0,0,0,0,0,0,0,0 pos1-dynamics =off # (0:off,1:on) pos1-tidecorr =off # (0:off,1:on,2:otl) pos1-ionoopt =brdc # (0:off,1:brdc,2:sbas,3:dual-freq,4:est-stec,5:ionex-tec,6:qzs-brdc,7:qzs-lex,8:vtec_sf,9:vtec_ef,10:gtec) pos1-tropopt =saas # (0:off,1:saas,2:sbas,3:est-ztd,4:est-ztdgrad) pos1-sateph =brdc # (0:brdc,1:precise,2:brdc+sbas,3:brdc+ssrapc,4:brdc+ssrcom) pos1-posopt1 =off # (0:off,1:on) pos1-posopt2 =off # (0:off,1:on) pos1-posopt3 =off # (0:off,1:on) pos1-posopt4 =off # (0:off,1:on) pos1-posopt5 =off # (0:off,1:on) pos1-exclsats = # (prn …) pos1-navsys =1 # (1:gps+2:sbas+4:glo+8:gal+16:qzs+32:comp) pos2-armode =fix-and-hold # (0:off,1:continuous,2:instantaneous,3:fix-and-hold) pos2-gloarmode =off # (0:off,1:on,2:autocal) pos2-bdsarmode =off # (0:off,1:on) pos2-arthres =3 pos2-arlockcnt =0 pos2-arelmask =0 # (deg) pos2-arminfix =10 pos2-elmaskhold =0 # (deg) pos2-aroutcnt =5 pos2-maxage =30 # (s) pos2-syncsol =off # (0:off,1:on) pos2-slipthres =0.05 # (m) pos2-rejionno =30 # (m) pos2-rejgdop =30 pos2-niter =1 pos2-baselen =0 # (m) pos2-basesig =0 # (m) out-solformat =llh # (0:llh,1:xyz,2:enu,3:nmea) out-outhead =off # (0:off,1:on) out-outopt =off # (0:off,1:on) out-timesys =gpst # (0:gpst,1:utc,2:jst) out-timeform =hms # (0:tow,1:hms) out-timendec =3 out-degform =deg # (0:deg,1:dms) out-fieldsep = out-height =ellipsoidal # (0:ellipsoidal,1:geodetic) out-geoid =internal # (0:internal,1:egm96,2:egm08_2.5,3:egm08_1,4:gsi2000) out-solstatic =all # (0:all,1:single) out-nmeaintv1 =0 # (s) out-nmeaintv2 =0 # (s) out-outstat =off # (0:off,1:state,2:residual) stats-eratio1 =100 stats-eratio2 =100 stats-errphase =0.003 # (m) stats-errphaseel =0.003 # (m) stats-errphasebl =0 # (m/10km) stats-errdoppler =1 # (Hz) stats-stdbias =30 # (m) stats-stdiono =0.03 # (m) stats-stdtrop =0.3 # (m) stats-prnaccelh =10 # (m/s^2) stats-prnaccelv =10 # (m/s^2) stats-prnbias =0.0001 # (m) stats-prniono =0.001 # (m) stats-prntrop =0.0001 # (m) stats-clkstab =5e-12 # (s/s) ant1-postype =llh # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm) ant1-pos1 =90 # (deg|m) ant1-pos2 =0 # (deg|m) ant1-pos3 =-6335367.6285 # (m|m) ant1-anttype = ant1-antdele =0 # (m) ant1-antdeln =0 # (m) ant1-antdelu =0 # (m) ant2-postype =rtcm # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm) ant2-pos1 =0 # (deg|m) ant2-pos2 =0 # (deg|m) ant2-pos3 =0 # (m|m) ant2-anttype = ant2-antdele =0 # (m) ant2-antdeln =0 # (m) ant2-antdelu =0 # (m) misc-timeinterp =off # (0:off,1:on) misc-sbasatsel =0 # (0:all) misc-rnxopt1 = misc-rnxopt2 = file-satantfile = file-rcvantfile = file-staposfile = file-geoidfile = file-ionofile = file-dcbfile = file-eopfile = file-blqfile = file-tempdir = file-geexefile = file-solstatfile = file-tracefile = #

inpstr1-type =serial # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http) inpstr2-type =tcpcli # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http) inpstr3-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http) inpstr1-path =ttyUSB0:115200:8:n:1:off inpstr2-path =:@IP:8989/: inpstr3-path = inpstr1-format =ubx # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:gw10,9:javad,10:nvs,11:binex,12:rt17,15:sp3) inpstr2-format =rtcm3 # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:gw10,9:javad,10:nvs,11:binex,12:rt17,15:sp3) inpstr3-format =rtcm2 # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:gw10,9:javad,10:nvs,11:binex,12:rt17,15:sp3) inpstr2-nmeareq =latlon # (0:off,1:latlon,2:single) inpstr2-nmealat =0 # (deg) inpstr2-nmealon =0 # (deg) outstr1-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr) outstr2-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr) outstr1-path = outstr2-path = outstr1-format =llh # (0:llh,1:xyz,2:enu,3:nmea) outstr2-format =llh # (0:llh,1:xyz,2:enu,3:nmea) logstr1-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr) logstr2-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr) logstr3-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr) logstr1-path = logstr2-path = logstr3-path = misc-svrcycle =10 # (ms) misc-timeout =10000 # (ms) misc-reconnect =10000 # (ms) misc-nmeacycle =5000 # (ms) misc-buffsize =32768 # (bytes) misc-navmsgsel =all # (0:all,1:rover,2:base,3:corr) misc-proxyaddr = misc-fswapmargin =30 # (s) —————————————————-

and then, when I almost put the base and rover near together (distance about 10cm), and it’s easy for me to get FLOAT, but FIX is hard, meanwhile, the skyview is very good: sunning no cloud and open-sky. So did I miss sth in config? such as for base in str2str, did I need to get the very accurate position for base (str2str … -p )? Another thing is I just using a normal antenna for the two M8T: GPS and Beidou antenna buy from here: https://item.taobao.com/item.htm?spm=a230r.1.14.16.B8eWLb&id=38499894179&ns=1&abbucket=8#detail

PellePettersson commented 7 years ago

I'm having the same problem with not getting FIX. I am still struggling as you do. One important issue is that you need to give the position for Base as exactly as possibly. Have you tried to exclude weak satellites below 35dB under settings1?

roger-zhao commented 7 years ago

@PellePettersson , About position of Base, how about using CORS to get the LLH then input it in str2str? Tks for you advice, I'll mask <35dB satellites then have a try, :-). Another thing, did you try to re-config CFG-ANT to support active antenna for better signals?

PellePettersson commented 7 years ago

No I have not done that with antenna. I have this GPS with antenna http://www.csgshop.com/product.php?id_product=222 I have not used str2str but I could see that it was important to give exact antenna pos.

roger-zhao commented 7 years ago

@PellePettersson , Tks! I've merged the configuration file in rtklibexplorer github demo2, another change is to place antennas of base and rover > 2 meters, then, both base and rover is 1Hz with 115200, and tried again, then find I can get some fix for a long while (about 20 mins) when both base and rover stationary. Still weird thing is when I increase to 5Hz for rover, it's very easily to error as "age = 20.xx/30.xx", then ratio will be jumping down and up but never meet the threshold of fix. So first thing I wonder is that this "age" should be as small as possible (0/1 second?), it that right? Another thing I doubt that is my rover is running on BBB which is a 1GHz Cortex-A8, should be not fast enough for 5Hz then cause "age" issue?

DavidKelleySCSC commented 7 years ago

As a rule you will see the displayed time toggle between 0 and 1 seconds (and perhaps 2) with good delivery of corrections. Less delivery latency is of course better, but for this use case a second or two will not matter. [The fundamental drift rate of the corrections are dominated by the common clocks involved and it is a bounded noise process with about 200pS of jitter unless advanced polynomial models are used. So in English, no need to worry] The RTKLIB tools (unlike the BNC tools) just provide a single second of resolution here. If you are seeing this value grow with time it indicates you have some sort of bandwidth limit and a buffer backing up. Buffers are finite, so of course after a point there is a message loss.
If you will record your input streams on the BBB side, then you can review (the message time values) and play them back and detect is there is in fact an drop out. But that will not time stamp when the actual message itself arrived at the BBB. Recording both streams (at the BBB) and posting them here would be a good way for others to look at the data to tell why it is not fixing for you. I have never done 5Hz on the BBB but would not expect that this would overload it (the killer is normally adding an IMU and all the faster processing that takes). To confirm we are talking about a 1Hz corrections stream, and a 5Hz rover observations stream, yes? Please try and make the recordings and then we see/prove if message content is lost (115k seems more then enough to me) by both looking at the raw data and seeing how it runs in the POST tool.
Do not want to pick on the ant. (and other folks speak well of that model) but I am always skeptical of any low cost antenna design until proven. I would also look there. At the least, please make sure that during your static tests both ant sets are orientated the same way so that any bias with respect to elevation and yaw is the same between them and will therefore cancel out.

roger-zhao commented 7 years ago

@DavidKelleySCSC , Hi, David. Tks so much. I've tested today, and after long time FLOAT I get also a long time FIX, BBB with 5Hz 115200 as rover, laptop 1Hz 115200 as base. And after offloading of BBB, and re-compile rtkrcv with -LLAPACK -LBLAS (not with -pg, no idea with -pg...), the "Age=" issue seems gone, but I'm wonder that the long time FLOAT (several mins), so could you pls have a look on my record of base and rover data if possible? data_record.zip

roger-zhao commented 7 years ago

@tomojitakasu @DavidKelleySCSC , One more thing pls give me your suggestion: if I want to compile rtkrcv on ARM such as BBB, which compile option I should follow? -llapack -lblas -pg? If it's, I found there're two kinds of .so: liblapack.so.3 and libblas.so.3, meanwhile liblapack.so.3gf and libblas.so.3gf, which ones I should pick? and also, how about -pg?

DavidKelleySCSC commented 7 years ago

That base station file is very small and seems to have only one 1002 message in it, rather then a sequence of them once a second.  That is the prime issue.  By contrast the uBx file from your rover is 6meg, so presumably has many epochs of data.   If you are only getting a very few corrections, but you are at least getting the location of the base, that would account for being "stuck" in the float mode. 

DavidKelleySCSC commented 7 years ago

I am sorry, but I do not know.  I will ask other people here once work resumes, that will be Tuesday as in the US we have a holiday.  I do know that we do not use Lpack as you need a ARM lib for that (the math library must be built or the ARM instruction set) and we do use the hardware floating routines. 

PellePettersson commented 7 years ago

I'm stuck with only FLOAT. Have seen FIX for some seconds only! Please give me some hint what to check.

roger-zhao commented 7 years ago

@DavidKelleySCSC , hi, David, for the last record data, I just using GPS for RTK, so the str2str message types are 1002, 1006, 1008, 1019, 1020, is it correct? And also for str2str, the M8T is 1Hz and 115200bps. @PellePettersson what's the status for you now? for me, in a clean sky view, some times will get FIX, but still long time (greater than 8 mins ). Do you mean that never get a FIX?

PellePettersson commented 7 years ago

I will only get FIX for some second in clear blue sky. I have to try with an other antenna. I can see that the signal strength is warying a lot and that might be the problem. I let you know when I have made tests next week. I will then show all my configs.

2016-09-10 10:07 GMT+02:00 roger-zhao notifications@github.com:

@DavidKelleySCSC https://github.com/DavidKelleySCSC , hi, David, for the last record data, I just using GPS for RTK, so the str2str message types are 1002, 1006, 1008, 1019, 1020, is it correct? And also for str2str, the M8T is 1Hz and 115200bps. @PellePettersson https://github.com/PellePettersson what's the status for you now? for me, in a clean sky view, some times will get FIX, but still long time (greater than 8 mins ). Do you mean that never get a FIX?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tomojitakasu/RTKLIB/issues/166#issuecomment-246098597, or mute the thread https://github.com/notifications/unsubscribe-auth/ASqrFHEGwkeGAMwcfqLoGUBnB145Eoh0ks5qomVFgaJpZM4IrNnQ .

DavidKelleySCSC commented 7 years ago

PellePettersson & roger-zhao Gentlemen: Where are we with this one? I have been on travel for the past week as a bit out of the loop for RTKLIB things. [Aside and once again RTKLIB is the hidden darling behind many technical papers at ION this year. Cheers to tomojitakasu for all his wonderful work!]

When last I looked, the data from the base station which roger-zhao used in his run was all but missing and there was a plan to retest and recapture.

And PellePettersson ,seem to be having serial port issue or possibly BBB cross compiler issues. I have heard of issues with using uBlox at rates above 1Hz but defer to others for details. But note that unless you also raised you BAUD rate you will have overrun your serial port - with 5x more data per second, so 5x more speed is wanted there. (19.2k -> 115k?)

Neither of these these seem to be RTKLIB internal problem, but more like end user issues. (which is fine but perhaps we need two forums these days).

roger-zhao commented 7 years ago

@DavidKelleySCSC , Hi, David, sorry for the delay post. I'm on business travel for these weeks, so didn't have chance to re-test and record the data. I'm wonder that about the base data missing mentioned by you, what's your opinion, is it comm-link issue or configuration issue (Hz and bps)?

PellePettersson commented 7 years ago

Long time no seen... I have struggled with RTKLIB and my setup. I have now reached a Point where i have a fairly good solution, BUT I can not get FIX for more than short periods for about 10-15 seconds. One thing that i have observed is if i leave the rover at one Point with Kinematic the float will slovely drift away in a straight line. Now and then it stops with fix but only for some seconds. Is there any adjustment to make for this? One inportent thing is CLEAR SKY and probably good antenna. Bye the way, how do i collect data to investigate after a test run. Is it the file i specify for rover as log stream or is it the output file with a certain format?

DavidKelleySCSC commented 7 years ago

Bye the way, how do i collect data to investigate after a test run. Is it the file i specify for rover as log stream or is it the output file with a certain format?

Use the "log" function not the output function to capture raw data. The "L" button on RTKnavi, and save the data stream as a file [the other options allow you to send the data off to a remote caster like RTK2go.com to publish it for others and are not of value here].
This file can then be run through the RTKLIB converter to go from a binary RTCM format to a human readable RINEX format. Error in converting (if output seems way to small for the input files size or there are only a few time stamped measures when you in fact ran it for a while) indicates corrupted raw input data. This mode lets you use RTKnavi as a big digital field tape recorder, capture the event in the front end of the GNSS device, then replay it with different navigation filters. Very very useful for filter tuning.

The converted file in turn allows easy review to see if a) your time stamp progress once per second (or whatever rate you has) and b) that your SNRs indicate good measurements (~>35db and stable when stationary) and c) that you even have the data set you expect to have (L2 missing, no Doppler, etc.). It will not show you that a "poor" ant is causing outliers and phase basis issue, or that the signal themselves do not converge (covariance analysis) or a ton of other issues.

Be sure to take a look at all two (three?) streams in this way, drop out in any of them may be the root problem. A positional drift in a "straight line" to me indicate there is a systematic bias getting into the navigation filter in there, but what it is I have no idea. Does that occur with a fixed AR? It is just a float it sounds less a problem. If you data checks out, rerun it with RTKpost and try various different setting to see if it matches your original live run results. If it does not match at least fairly closely, this indicates something really strange.

Dansio commented 7 years ago

Hi,

I have Stonex S8plus receiver, I've tried to connect RTK LIB with my receiver and CORS stations of my country MAKPOS via NTRIP, but no success. If someone can help me about config in input streams I would be grateful. http://www.stonexpositioning.com/jdownloads/Public/Manuals%20and%20tutorials/English/GNSS%20receivers/S8%20PLUS/s8_plus_user_manual.pdf http://balgeos.cc.bas.bg/news/materials/Presentations/presentations_Sofia/Makpos.pdf I have port number, mountpoint, IP,user and password for MAKPOS CORS stations. I've also tried to connect receiver with RTK GPS + android app and CORS Network, but still same. First it says timeout, than I've got error (32).... Where I could find start/end commands for Stonex S8plus?

DavidKelleySCSC commented 7 years ago

Well you have two issues here, both are a bit off topic for the RTKLIB support board.
First, how to setup a Stonex S8 is best dealt with by asking them directly (I have no idea what GNSS modules they use).
Second, you want to use an NTRIP feed from a government run service in MACEDONIA (makpos.katastar.gov.mk) and that seems to be a common a SpiderWeb Leica network with the normal user signup account system. You need to get an account before you can log on to it. I can not read Greek so I cannot help you there.
Once you get that account, use RTKLIB to connect to two nearby stations in the network (and some orbits) to see RTK work in a fixed mode, then go back to getting the Stonex S8 device to work for you.
Good luck. DCK

Dansio commented 7 years ago

Stonex S8 use NOVATEL GPS board, original model of Stonex S8plus is STNS8N, and antenna type is STXS8PX003A. I have user and account, I paid every year for them. I use Stonex S8plus receiver with controller Stonex S4 every day for RTK measurments connected to MAKPOS, but now I want to try to use smartphone like GNSS controller running RTK NAVI (on smartphone with Windows OS or at least on laptop), or (RTKGPS +) on Android phones. https://igscb.jpl.nasa.gov/igscb/station/general/antenna.gra https://play.google.com/store/apps/details?id=gpsplus.rtkgps&hl=en

P.S it's not Greek, it's Macedonian language.

CGEOS commented 7 years ago

Actually you have to setup RTK-LIB for your Stonex mobile sending NMEA positions to the GNSS Network RTK or SpiderNeT. It's an option that you will find easily on RTKNAvi.

The message timeout you get is because the server is not getting your position. That will be the case for a VRS or I-Max mount point. Even for "nearest" station you do need to send the Nav position to the server. Of course you can introduce also manually the position of your rover !

Next will be the message type you are selecting. I guess you can see satellites and single position for your rover ? So if the only problem is to get Network corrections, the answer is as described.

Note that you will have also to introduce your antenna offsets but we can talk about that when you will get a float/fix solution.

I am using Walcors network here and it's SpiderNET. I designed SpiderNET from 2001 when I was Program Director for Leica Geosystems.

All best regards,

Joel

Joel Van Cranenbroeck Mng. Director CGEOS - Creative Geosensing sprl-s www.cgeos.com

Le 14 mars 2017 à 18:30, Dansio notifications@github.com a écrit :

Stonex S8 use NOVATEL GPS board, original model of Stonex S8plus is STNS8N, and antenna type is STXS8PX003A. I have user and account, I paid every year for them. I use Stonex S8plus receiver with controller Stonex S4 every day for RTK measurments connected to MAKPOS, but now I want to try to use smartphone like GNSS controller running RTK NAVI (on smartphone with Windows OS or at start on laptop), or RTKGPS + on Android phones. https://igscb.jpl.nasa.gov/igscb/station/general/antenna.gra

P.S it's not Greek, it's Macedonian language.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

Dansio commented 7 years ago

Thank you Joel,

In Stonex Assistant I've set rover to send NMEA message via bluetooth module, page 53 in user manual of Stonex: http://www.stonexpositioning.com/jdownloads/Public/Manuals%20and%20tutorials/English/GNSS%20receivers/S8%20PLUS/s8_plus_user_manual.pdf I have tried only with RTKGPS+ app to connect receiver via bluetooth but i didn't got even float coordinates, probably the problem is in connection receiver-bluetooth-smartphone, though it says that receiver is connected and paired via bluetooth. Tomorrow I will try with RTK LIB running on my laptop ( I don't have smartphone with Windows OS), but is it posible to communicate RTK LIB with receiver with bluetooth, or I must connect via USB? Best regards,

Daniel

CGEOS commented 7 years ago

You can easily connect your Stonex receiver to RTK-LIB using BlueTooth as you computer will allocate a COM Port when you do the pairing. Then RTK-LIB you will select the port ...

But there are other setting such the data format you are using for your receiver...

Anyway, starting with a standard PC to check is good !

Best regards,

Joel

Joel Van Cranenbroeck Mng. Director CGEOS - Creative Geosensing sprl-s www.cgeos.com

Le 14 mars 2017 à 22:04, Dansio notifications@github.com a écrit :

Thank you Joel,

In Stonex Assistant I've set rover to send NMEA message via bluetooth module, page 53 in user manual of Stonex: http://www.stonexpositioning.com/jdownloads/Public/Manuals%20and%20tutorials/English/GNSS%20receivers/S8%20PLUS/s8_plus_user_manual.pdf I have tried only with RTKGPS+ app to connect receiver via bluetooth but i didn't got even float coordinates, probably the problem is in connection receiver-bluetooth-smartphone, though it says that receiver is connected and paired via bluetooth. Tomorrow I will try with RTK LIB running on my laptop ( I don't have smartphone with Windows OS), but is it posible to communicate RTK LIB with receiver with bluetooth, or I must connect via USB? Best regards,

Daniel

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

Dansio commented 7 years ago

Today I've tried to connect but still no succes, I've tried to connect receiver via usb cable and via bluetooth with laptop running RTKLIB. -I've set bitrate to 115200 in receiver and in RTKLIB -First receiver was set to send Navigation message via external port and connected with usb to laptop -second time I set receiver to send NMEA via Bluetooth and I've connected with Laptop via Bluetooth.

I don't really understand Parity (Odd, Even..)and bitrate (38400 was autosettings for external bitrate in stonex receiver, and 115200 for Bluetooth). rtklib rtklib1

Best Regards,

Daniel

Here is printscreen from Input settings for receiver and options, maybe I made some mistake in settings.

CGEOS commented 7 years ago

Are you sure your receiver is configured to stream RTCM out ? Normally it can only do that when configure in Base Station mode. Either you use BT or serial you do need to have to right settings on both ends. Check first if you are correct with RTCM 3 on your Stonex receiver !

Joel Van Cranenbroeck Mng. Director CGEOS - Creative Geosensing sprl-s www.cgeos.com

Le 15 mars 2017 à 21:30, Dansio notifications@github.com a écrit :

Today I've tried to connect but still no succes, I've tried to connect receiver via usb cable and via bluetooth with laptop running RTKLIB. -I've set bitrate to 115200 in receiver and in RTKLIB -First receiver was set to send Navigation message via external port and connected with usb to laptop -second time I set receiver to send NMEA via Bluetooth and I've connected with Laptop via Bluetooth.

I don't really understand Parity (Odd, Even..)and bitrate (38400 was autosettings for external bitrate in stonex receiver, and 115200 for Bluetooth).

Best Regards,

Daniel

Here is printscreen from Input settings for receiver and options, maybe I made some mistake in settings.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

Dansio commented 7 years ago

Hm, in manual it says (Reference outputs CMR, CMR+, RTCM 2.1, 2.3, 3.0, 3.1).

I've written to Stonex support for help about RTCM output. I would try probably tomorrow to play more with this. Best regards,

Daniel

Dansio commented 7 years ago

@CGEOS the problem is still here, probably with RTCM output, I've contacted Stonex but still no usefull answer :) I have friend who have Leica GS08 Plus receiver so I can use that receiver for testing, can you help me with configuration of Leica receiver so I can use with RTK LIB? Best regards,

Daniel

rmarzocchi84 commented 4 years ago

We have a Stonex S900A and a S500. We connect it using bluetooth but we do not know the format of data and antenna.

Where we can found this kind of information?