Base Fixed, Pixhawk Rover Doesn't Fix

@emlid

Firmware Image 2.3 and ReachView 2.5.3

Got everything working with Reach, Pixhawk and to inject corrections from Mission Planner following this document.
https://docs.emlid.com/reach/ardupilot-integration/
Resulting in Rover with Fixed status and coordinates based on Base in Single Mode. I had the idea to improve the Base coordinates by using my access to survey grade NTRIP information, so I added NTRIP info to Base correction input and also in the Base Mode menu selected Average fix . This enabled the Base to go into Fixed Mode successfully instead of Single. The Rover also went from Single to Float to Fixed and stayed at Fixed for about a minute, then it went back to stay at Float. Rover never got Fixed back. I was expecting the Rover to stay Fixed. Anyone know if this is a bug in firmware or am I missing something? I like to use NTRIP to improve the base coordinates while using Mission Planner to inject corrections to Pixhawk. Help from Emlid or anyone who got this to work would be very appreciated. Thanks!

(Base)


(Rover)


(Base Status)

(Resulting Rover Status… Shouldn’t it be Fixed?)

Just a thought but wouldnt it be better if you survey coordinates and use them in the base instead of RTK base?

Thanks for the reply. The intention for this Base is to be portable and easy to setup at different locations every time. I don’t have much survey knowledge so I am not a 100% sure that it is more work to survey coordinates each time the Base moves. At any rate, I suspect there may be a problem with the firmware if the Base is Fixed using survey grade NTRIP corrections and the Rover can’t be Fixed. The Rover did stay Fixed when Base was in Single Mode however. But I like to get more precise coordinates with Base Fixed.

Hi @egor.fedorov @igorvereninov Do you guys have answers to the problem I am having above or can you replicate what I have done above to verify? TIA.

Not sure about your setup, but is SERIAL Rover correction input compatible with BASE TCP correction output?

@egor.fedorov @igor.vereninov Hey guys, I did the most recent firmware upgrade as of 6/22/17 for V2.3 and ReachView 2.6.0 and tested again. This time I was able to get NTRIP Base Fix and Pixhawk Rover to stay Fixed one time and jumped for joy! I haven’t been able to get the Base Fixed again after retries for some reason, but will test some more tomorrow with actual flights and report. @emlid Thanks guys for the hard work. I forgot I had also upgraded to Arducopter 3.5rc8 so I couldn’t tell which updates got things to work.

Rick, no. The Emlid document link I posted above explains what I am trying to do. My setup is fine, I am just taking it to the next level. The only addition I made to the documented setup was adding NTRIP.

OK, thanks. Glad you got it going.

The test results are in… the Base always Fixes fine with NTRIP and with Fix Averaging ON. Rover still switches back and forth between Float and Fix. But man I had a fantastic drone landing that was spot on when the Rover was Fixed! It still doesn’t make sense why Rover doesn’t stay Fixed when Base is Fixed. @emlid @igorvereninov @egor.fedorov can you guys chime in on this? Is this a software issue?

My best gess interference on the rover. Move the GPS anntenna as far away from other electronics as possible, even from the reach.

There have been several cases as Amilcar_Lucas mentioned. Some motor electronics are noisy only when on strong throttle.

Thanks Amilcar for your suggestion, I can try to test antenna location some more to test placement when Base is Fixed. What I don’t quite understand is that I can get Rover to stay Fixed when Base is in Single mode. When Base is in Fixed mode, Rover does’t stay Fixed but alternates between Fix and Float. If interference was the issue, then shouldn’t Rover also alternate between Float and Fixed when Base is in Single mode?

These are independent things. On a steup without Ntrip servers, The base stays in single all the time and the rover goes to all the way up to Fix. There is no need and no way for the base to go beyond single when it is not connected to a Ntrip server.

I might be wrong here… so correct me.

Rick, thanks for your thoughts. However this happens even when on the ground without motors running.

You are welcome. Good Luck.

According to this document on Base placement https://docs.emlid.com/reach/common/tutorials/placing-the-base/
The Rover position is relative to the Base. So if the Rover is able to stay in Fixed status relative to the Base in Single mode, shouldn’t the Rover be able to achieve the same when Base is in Fixed mode and is Fixed with NTRIP?

I would try to set up the base using NTRIP to get precise coordinates. Then turn NTRIP off and let the base stay in single solution although put in the coordinates you got before as fixed base coordinates. This way the base coordinates won’t change over time which might help with a rover fix.

1 Like

Interesting idea.

I am having the same problems with two Reach RS units. The Base gets a fix but the Rover does not.

The base is using NTRIP from a CORS site for corrections. But I thought setting the coordinates of the BAse was a one time operation based on your choice of method. For example I was using a Fix using the CORS corrections lasting at least 2 minutes.

Does the Base update its coordinates? - I thought that once they were set they stayed the same until you rebooted the Base.

Cheers
John

Thanks Sidux. That sounds like a good workaround until @emlid @igorvereninov @egor.fedorov @mikhail.avkhimenia gives us an idea what is going on here. It may be a firmware issue.

My guess to the problem could be that a Fixed status means positioning error up to about 10cm. In order for the Rover to get a Fixed status, its position needs to be within 10cm accurate. If the Base with Fixed status is at the outer limits of acceptable error, meaning 10cm of position error and the Rover is also at its outer limit of 10cm of position error for example. That is a total of 20cm of position error, which the Rover would report as having a Float solution instead of Fixed solution. This is my guess. It is also quite possible that there is also a firmware issue at play.

I only got one Reach unit since a few weeks and didn’t set it up as base by now. Therefore I didn’t read the docs on how to set up a base with a Reach unit and it was just an intuitive thought.

Just read it now and to me it looks like my suggestion before could be a workaround but shouldn’t actually need to be used. “Average fix” as base coordinates setting should work without turning NTRIP off before using the rover since it just averages for a set time period and then fixes the resulting coordinates.

So the issue seems to be somewhere else or my workaround (if it works) points to a bug in the firmware like @simon mentioned.

PS: I am using a Topcon GR-3 as base using NTRIP when setting it up and then manually set the coordinates for the RTCM stream. I usually get a fix on the rover (Reach) within 1 min when it’s close to the base.