Can´t get fix - please help

@mr337 I processed your GPS+SBAS files from the previous post.

Forward, combined; all sats, various sats excluded; various minimum SNR levels; base interpolation and not; with and without SBAS. Sure, a few quick fixes here and there, but no solid long-standing fix. :confounded:

There has got to be a simple explanation.

nice yard by the way!

Maybe it has to do with the satellite geometry?


The good sats are fairly high in the sky and in a east-west line. Nothing much in the north-south direction. So maybe there’s not enough ‘spread’ in the satellite grouping? Just grasping at straws here.

@mr337 @bide

I have been looking through the logs and I do not see any error in the config, the ambiguity ratio does not grow past 2 on this log. To get a fixed solution from the log I switched ambiguity resolution to “Fix-and-Hold” and lowered the minimum AR ratio down to 2. That gave me a stable and consistent fix. In this case I would probably blame the geometry.

This should not happen on Reach. I have noticed in the settings that minimal lock count to fix ambiguity is set to “0”, while it should be about “200”. That will prevent RTKLIB from losing lock when new satellite appears. I will check that this is enabled in default settings.

Which version are you on, @mr337?

2 Likes

Min ar radio what’s the name in reach view?

Minimal ratio to fix ambiguity. That indicates how good the solution is when compared to other possible solutions and defines level of confidence in solution.

1 Like

Now float in 1 min und fix in 2 min… Great!!!

Changed : fix and hold
Lock,count from 0 to 200
Ar from 3 to 2

Maybe you can find a way to input und Output .conf files
If we have the perfect setting for kinematic you should make a new conf file…


2 Likes

Igor can you send me a serial for sigropilot for testing I have only 2 days free and now,I have fix To test it…

I can connect using tcpsvr but not if I use Bluetooth!?

Thanks @bide for checking that out. Its my inlaws yard, and yes its gigantic. Also way out from the city so cell signal is non-existent. Because of that I was not able to update.

@igor.vereninov I’m running ReachVew v0.4.4 iirc, and have seen that min lock count set to 0.

Tonight when I get back in I’m going to do update and perform more testing and start tweaking the settings mentioned. Also hope to have better geometry. With the data above and the geometry given, would adding GLONASS help?

@Andreas_Ortner if you can ssh into your rover you can scp that working config file, iirc its located in ~/RTKLIB/rtkrcv and the config should be there named the same as in the UI. If that isn’t it I’ll double check on my Reach.

1 Like

found it:

this is my file for rtk kine…
do i have better rtk when i switch to 5hz? on base and rover?

rtkrcv options for rtk (v.2.4.2)

console-passwd =admin
console-timetype =gpst # (0:gpst,1:utc,2:jst,3:tow)
console-soltype =dms # (0:dms,1:deg,2:xyz,3:enu,4:pyl)
console-solflag =off # (0:off,1:std+2:age/ratio/ns)
inpstr1-type =serial # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http) ## Input source for onboard receiver
inpstr2-type =tcpcli # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http) ## Input source for base corrections
inpstr3-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
inpstr1-path =ttyMFD1:230400:8:n:1:off
inpstr2-path =xxxxx - removed
inpstr3-path =
inpstr1-format =ubx # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:sp3) ## Input format for onboard receiver
inpstr2-format =rtcm3 # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:sp3) ## Input format for base corrections
inpstr3-format =rtcm3 # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:sp3)
inpstr2-nmeareq =off # (0:off,1:latlon,2:single) ## Transmit NMEA GPGGA messages to Base station
inpstr2-nmealat =0 # (deg) ## Latitude to send
inpstr2-nmealon =0 # (deg) ## Longitude to send
outstr1-type =tcpcli # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,10:bluetooth) ## Solution 1 output path
outstr2-type =tcpsvr # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,10:bluetooth) ## Solution 2 output path
outstr1-path =localhost:8143
outstr2-path =:9500
outstr1-format =nmea # (0:llh,1:xyz,2:enu,3:nmea,5:erb) ## Solution 1 output format
outstr2-format =nmea # (0:llh,1:xyz,2:enu,3:nmea,5:erb) ## Solution 2 output format
logstr1-type =file # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,10:bluetooth) ## Raw data log for onboard receiver
logstr2-type =file # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,10:bluetooth) ## Raw data log for base corrections
logstr3-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli)
logstr1-path =/home/reach/logs/rov_%Y%m%d%h%M.ubx
logstr2-path =/home/reach/logs/ref_%Y%m%d%h%M.rtcm3
logstr3-path =cor_%Y%m%d%h%M.log
misc-svrcycle =10 # (ms)
misc-timeout =30000 # (ms)
misc-reconnect =30000 # (ms)
misc-nmeacycle =5000 # (ms)
misc-buffsize =32768 # (bytes)
misc-navmsgsel =rover # (0:all,1:rover,1:base,2:corr)
misc-startcmd =
misc-stopcmd =
file-cmdfile1 =…/GPS_GLONASS_1Hz.cmd # (0:…/GPS_1Hz.cmd,1:…/GPS_5Hz.cmd,2:…/GPS_10Hz.cmd,3:…/GPS_14Hz.cmd,4:…/GPS_GLONASS_1Hz.cmd,5:…/GPS_GLONASS_5Hz.cmd,6:…/GPS_BEIDOU_1Hz.cmd,7:…/GPS_BEIDOU_5Hz.cmd) ## u-blox configuration file
file-cmdfile2 =…/GPS_GLONASS_1Hz.cmd # (0:…/GPS_1Hz.cmd,1:…/GPS_5Hz.cmd,2:…/GPS_10Hz.cmd,3:…/GPS_14Hz.cmd,4:…/GPS_GLONASS_1Hz.cmd,5:…/GPS_GLONASS_5Hz.cmd,6:…/GPS_BEIDOU_1Hz.cmd,7:…/GPS_BEIDOU_5Hz.cmd) ## Base u-blox configuration file
file-cmdfile3 =
pos1-posmode =kinematic # (0:single,1:dgps,2:kinematic,3:static,4:movingbase,5:fixed,6:ppp-kine,7:ppp-static) ## Positioning mode
pos1-frequency =l1 # (1:l1,2:l1+l2,3:l1+l2+l5) ## Carrier frequencies
pos1-soltype =combined # (0:forward,1:backward,2:combined) ## Filter type
pos1-elmask =15 # (deg) ## Elevation mask angle in deg
pos1-snrmask =35 # (dBHz) ## SNR mask(minimum satellite level)
pos1-dynamics =on # (0:off,1:on) ## Dynamics model of the rover(Kinematic and dgps only)
pos1-tidecorr =off # (0:off,1:on) ## Apply earth tides corrections
pos1-ionoopt =brdc # (0:off,1:brdc,2:sbas,3:dual-freq,4:est-stec) ## Ionosphere corrections
pos1-tropopt =saas # (0:off,1:saas,2:sbas,3:est-ztd,4:est-ztdgrad) ## Troposphere corrections
pos1-sateph =brdc # (0:brdc,1:precise,2:brdc+sbas,3:brdc+ssrapc,4:brdc+ssrcom) ## Type off satellite ephemeris
pos1-exclsats = # (prn
pos1-navsys =63 # (1:gps+2:sbas+4:glo+8:gal+16:qzs+32:comp) ## Used positioning systems
pos2-armode =fix-and-hold # (0:off,1:continuous,2:instantaneous,3:fix-and-hold) ## GPS integer ambiguity resolution mode
pos2-gloarmode =on # (0:off,1:on,2:autocal) ## GLONASS integer ambiguity resolution mode
pos2-arthres =2 ## Integer ambiguity validation threshold
pos2-arlockcnt =200 ## Minimum lock count to fix integer ambiguity
pos2-arelmask =0 # (deg) ## Minimum elevation angle to fix integer ambiguity
pos2-aroutcnt =5
pos2-arminfix =10
pos2-slipthres =0.05 # (m)
pos2-maxage =30 # (s)
pos2-rejionno =30 # (m)
pos2-niter =1
pos2-baselen =0 # (m)
pos2-basesig =0 # (m)
out-solformat =llh # (0:llh,1:xyz,2:enu,3:nmea)
out-outhead =on # (0:off,1:on)
out-outopt =off # (0:off,1:on)
out-timesys =gpst # (0:gpst,1:utc,2:jst)
out-timeform =tow # (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-errratio =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 =1 # (m/s^2)
stats-prnaccelv =0.1 # (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 =single # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm)
ant1-pos1 =0 # (deg|m)
ant1-pos2 =0 # (deg|m)
ant1-pos3 =0 # (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) ## Base antenna coordinates
ant2-pos1 = # (deg|m) ## Base antenna latitude
ant2-pos2 = # (deg|m) ## Base antenna longitude
ant2-pos3 = # (m|m) ## Base antenna height
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)
file-satantfile =…/…/…/data/igs05.atx
file-rcvantfile =…/…/…/data/igs05.atx
file-staposfile =…/…/…/data/station.pos
file-geoidfile =
file-dcbfile =…/…/…/data/P1C1_ALL.DCB
file-tempdir =…/…/…/data/temp
file-geexefile =
file-solstatfile =
file-tracefile =

I re-processed @mr337’s logs with @igor.vereninov’s suggested settings and came up with this much better result:

(only the fixed (15.7%) points shown // and note that the rover was moving for part of this log)

Hello Igor,
Did you check this correction at RTKlib about lock count?

Thank you

Hello Eduardo,

Yes, this fix is implemented on Reach some time ago.

hello igor,

the image v1.2 uses the rtklib v2.4.2? right?

I checked the rtklib.h (on the emlid reach V1.2, in /home/reach/RTKLIB/src/rtklib.h) and it seems the “lock” variable is still an unsigned int.

I checked on rtklib’s github and the fix is only applied on the 2.4.3 branch (not on master, which is currently on 2.4.2p11).

Will the changes be merged into the next release?

Meanwhile, I edited out the ‘unsigned’ from the declaration and ran
./makeall.sh clean
./makeall.sh
Is this OK?

Regards.

still have the problem.

What about this:

Ublox M8N vs M8T: Part 3

1 Like

Hello everyone. I’ve changed the parameters and I’ve got FIX, but the coordinates are approx. 150 m from the real position. Moreover, they change when I assign Ionosphere corrections in “sbas”, for example, and Troposphere corrections in “est-ztdgrad”, the coordinates change, and thus for all the possible combinations.

Could someone give me an explanation and tell me where to find the meaning of: brdc, dual freq, est-stec, talking about Ionosphere corrections, and the meaning of: sass, est-ztd, est-ztdgrad.

I’m in Colombia and I don´t know what would be most appropriate parameters for this latitudes.

Another thing, which would be the disadvantage of put SNR mask(minimum satellite level) in very low values, for example 5.

Regards.

I would def go defaults and then start from there. If your tweaking stuff very heavily and are getting fix you must double check your results. I’ve learned this by tweaking the ambiguity integer, just because you get fix doesn’t mean your in the cm range with bad settings.

As for the SNR, I’ve always looked at it as a first pass noise filter, where anything less than elevation of 10-15 you know is going to be crap, so just ignore it to begin with.

I already saw, that effectively under the SNR it solution is away of the coordinate real, but still having the doubt on which mean them parameters: brdc, est-stec, est-ztd, est-ztdgrad and others.

Where I can find that definitions?

Regards.

And another question: there is someone in Latin America that has worked with success with kinematic method?

Thanks in advance.

A post was split to a new topic: Issues with fix on RS+