RTK-GPS at Rover
After the base station was operational, I started to do some tests on the ROSMower. In terms of RTK-GPS, the moving object gets named as Rover, so I name my Mower also Rover in this topic.
To get cm-level accuracy, the GPS receiver needs a state called FIXED. To do so, you need a base station feeding correction data to the Rover. Also the Rover itself must have good satellite signal. You want to see many satellites with approx 40dB covering the entire sky. Under perfect condition, you get a FIX with ease but in real world, there are many issues like trees, buildings or other objects, which either block GPS signal or causes reflection. The receiver will also catch the reflection, which is called multi-path. The receiver does some mathematical calculation and the result is either a FIX or a FLOAT. In case of FLOAT, we have a good precision of approx. 20 cm, but this is not ok for the purpose of mowing by lanes.
I had some hard time to get a FIX on the Rover and I’m still fighting with antenna setup. To solve this issue, I started some tests to determine best antenna setup for my conditions.
Test field
You find many example test setup on the internet bust most of them are under best condition meaning you have either lot of open space around the antenna or it is placed on a high building. But in reality, the Rover will act close to the ground and there are many objects which influence the signal.
I’m living in a village with lots of small houses. The area of each ground is between 500-600m² which means, the houses of the neighbours are only a couple of meters beneath my own. The rover has to operate between houses. Moreover, there are many hills which means, the houses of my neighbours are often higher than my own.
Test conditions
During the test, the Rover is placed approx 2.5 meters beneath the house at a static position. To keep things easy, the Rover itself is turned off, so there is no electronical noise from NVidia Jetson, Wifi or other components. During each test, the antenna gets placed on the same position on the Rover. The simpleRTK board is placed approx 10cm beneath the antenna (under the red cover) and connected to a Notebook, which is approx 2m beneath the Rover.
During each test, I measuse the time between cold-start of the GPS module and the first RTK-FIX solution.
Test objects
The purpose of this test was to find best antenna setup. As we already know, a ground plane should be added to antenna to get good signal. But which kind of material is a good solution? How affect size and material the signal? Expensive GPS antennas are often constructed as choke ring antennas. They’re commonly used for fixed installation like base stations but I didn’t find examples where they’re used for Rover. As they’re expensive, I tried to build a poor man choke ring antenna.
The test objects are:
- steel disk 170mm x 3mm
- round steel box with diameter 120mm and 60mm height (cover for stove pipes from local hardware store). I name it small box in further.
- round steel box with diameter 150mm and 50mm height (cover for stove pipes from local hardware store). I name it large box in further.
- poor man choke ring antenna. Simply place the smaller box inside the larger one and place antenna inside
Result
After a first test run, I tried to reproduce the results for some tests with a 2nd test run. Sadly the results varies a lot. The time between 1st and 2nd test was approx 30 minutes. As it was late evening, temperature changes fast. This might influence the time to get a fix as the F9P module if sensitive to this.
To get a clear picture, I should re-run each single test multiple times and build the mean value but I got the feeling, that small box with antenna placed outside is a good candidate and I’ll go this way.
Test | Time to Fix | Fix Mode | Lon | Lat | Alt | 3D acc | 2D acc | PDOP | HDOP | |
---|---|---|---|---|---|---|---|---|---|---|
Choke Ring | 02:35 | 3D/DGNSS/FIXED | X.69253500 | 5X.23622067 | 426,9 | 0,02 | 0,01 | 1,7 | 0,8 | |
Choke Ring 2.test | 05:24 | 3D/FIXED | X.69253583 | 5X.23621983 | 426,89 | 0,02 | 0,01 | 1,3 | 0,6 | |
steel plate | 02:43 | 3D/DGNSS/FIXED | X.69253567 | 5X.23622000 | 426,7 | 0,02 | 0,01 | 1,5 | 0,7 | |
steel plate 2.tst | >06:00 abort | 3D/FLOAT | X.69253767 | 5X.23621767 | 427,43 | 0,02 | 0,01 | 1,4 | 0,7 | |
small box outside | 01:30 | 3D/DGNSS/FIXED | X.69253560 | 5X.23622070 | 426,87 | 0,02 | 0,01 | 1,7 | 0,8 | |
small box outs.2. | 00:59 | 3D/FIXED | X.69253517 | 5X.23622067 | 426,89 | 0,02 | 0,01 | 1,4 | 0,6 | |
small box inside | 01:14 | 3D/FIXED | X.69253667 | 5X.23621933 | 427,04 | 0,02 | 0,01 | 1,6 | 0,8 | |
small box in 2. | 04:07 | 3D/FIXED | X.69253533 | 5X.23622033 | 426,89 | 0,02 | 0,01 | 1,4 | 0,7 | |
large box inside | 01:20 | 3D/DGNSS/FIXED | X.69253510 | 5X.23622030 | 426,95 | 0,02 | 0,01 | 1,5 | 0,8 | |
large box outside | 03:10 | 3D/DGNSS/FIXED | X.69253550 | 5X.23622000 | 426,81 | 0,02 | 0,01 | 1,2 | 0,6 | |
standalone | 04:54 | 3D/DGNSS/FIXED | X.69253500 | 5X.23622150 | 426,75 | 0,02 | 0,01 | 1,3 | 0,6 | |
Difference in Lat/Lon of each test
During the test, I noticed that there is not only a difference in altitude but also in lat and lon. I’m not sure if this is normal or if this will cause issues. I wil observe this closely and will check base station again, if it operates in correct state (TIME). Small box outside has the smallest deviation in Lat and Lon.
Steel disc
I did the test two times
Small box inside
For this test, I placed the antenna inside the small box. The box acts as some kind of choke ring with only one ring.
Small box outside
For this test, I turned the box and placed the antenna on top of it like this
Large box inside
Large box outside
Choke ring
Poor man choke ring antenna. Small box inside the large box, antenna inside small box
Standalone
Antenna without any ground plane