Notifications
Clear all

UAV - PPK / RTK Comparisons

7 Posts
2 Users
9 Reactions
2,399 Views
jacob-wall
(@jacob-wall)
Posts: 134
Member
Topic starter
 

I'm curious to learn what other's experience has been with drone PPK processing.

I've been flying a DJI drone for about 5 years, until recenlty without RTK module, always setting GCPs on site and then processing with Agisoft. Earlier this year I got one of the new Matrice 4E drones with RTK module and am currently proofing workflows to sort out the optimal flight plan for different sites. I'm pretty happy with the RTK method, results agree well with ground truthing and checks. At the office we have a reference station with a NTRIP data stream which is the quickest and easiest if we're close to the office. I've also set up a GS18 with a static SIM card to be able to stream corrections from it via NTRIP in the field. All good so far, but what about sites where either a) I don't have exisitng control, or b) there is no cellular service. PPK of course, but that's where I'm running into some hiccups that I'm wondering if anyone could comment on their experience.

Case in point, I flew a small site recently where I was able to use RTK corrections but wanted to try PPK to see how things compared. I used Emlid Studio, which has a pretty straight forward workflow to update the EXIF tags in the photos and then process with Agisoft as per usual. What I found was the results were not great. Heights were off by ~8cm on average and 2D was a couple of cm's off too. Weird, using the original RTK tagged photos instead, everything looks good when checking to ground control. So, then I thought it's probably because I was logging data at 5s interval at the base while the drone logs at 5Hz. Went on another site today and again had RTK, but this time made sure to set the data logging interval to 0.2s / 5Hz on the GS18 to match what the drone is recording to try PPK again. Results were similar to before, vertical differences between RTK tags and PPK tags is in the 10cm range this time. This also happens to be the phase center offset for the GS18, but the software claims it's using the antenna file to account for this so I'm not sure if this is the issue or just a coincidence.

Next, I tried using a different PPK processing software, KlauPPK, to see if it was something with Emlid Studio. Oddly I get pretty much identical results with both PPK drone processing software.

Both times I was flying at around 30-40m flying height at 3-4 m/s flight speed.

For the first flight I was logging static at the base at 5s interval, while the RTK corrections received for that flight were at 1s interval.

For the second flight I was logging static at the base at 0.2s interval, and RTK corrections also 0.2s interval.

In both cases the PPK heights were mostly higher than RTK, although there was some inconsistency where some photos had PPK positions slightly lower than RTK positions.

I was under the impression that PPK was supposed to provide "better" results than RTK. Is this not the case? Or am I missing something?

 
Posted : April 7, 2025 8:03 pm
jacob-wall
(@jacob-wall)
Posts: 134
Member
Topic starter
 

I read this morning on two websites (DJI and DroneDeploy) that they recommend at least 10 minutes of flight observation data to get accurate PPK results. Both of the test flights completed were only about 2 minutes in duration.

When asking ChatGPT, which is what it is, I got the response below. Looks like I need to design a better test case with a longer flight to really compare PPK with RTK. Early conclusion is that for short flights, RTK will get the better results than PPK. Time to read up more on PPK processing, I had incorrectly assumed it would work similar to RTK, just done with stored observations instead of in real time.

So, while PPK can technically run with less than 10 minutes, accuracy and reliability dramatically improve with at least 10+ minutes of good-quality, continuous data — especially if you're aiming for centimeter-level precision.

 
Posted : April 8, 2025 10:21 am
land_odse
(@land_odse)
Posts: 28
Member
 
You’ve raised a very interesting topic. Let’s try to break it down step by step. So, you have a DJI Matrice 4E, and I’ve confirmed that it does support RTK (Real-Time Kinematics) and PPK (Post-Processed Kinematics).
The RTK accuracy is: 1 cm + 1 ppm horizontally and 1.5 cm + 1 ppm vertically.
The DJI Matrice 4E has two operational modes:
- RTK mode: Coordinates are recorded in real time using a base station or NTRIP network, ensuring high accuracy during the survey.
- PPK mode: The drone records raw GNSS data (e.g., in RINEX format) for post-processing.
From what I know, for PPK workflows with DJI drones, DJI Terra is typically used. It automatically leverages coordinates stored in the image EXIF tags during the flight:
- If the drone operated in RTK mode, these coordinates are already precise and require no further adjustment.
- If PPK mode was used, the software post-processes the raw GNSS data with base station data, updating the coordinates in the EXIF.
This brings me to a logical question: Why didn’t you use DJI Terra, as I assume it’s the simplest solution for this task?
For drones without RTK/PPK, geographic coordinates of image tiles (photos) are written directly to the EXIF section. In RTK/PPK drones, the onboard GPS logs raw GNSS data (PPK file) to the drone’s memory. This file contains the drone’s trajectory with all satellite data.
I work with Trimble Business Center and TOPOSETTER (e.g., TOPOSETTER P4RTK). Could you clarify how Emlid Studio derives precise coordinates for drone image tiles? Do you process the entire trajectory from the drone’s PPK file using reference station data and align it with the timestamps in the photos?
The TOPOSETTER and TOPOSETTER P4RTK software can perform PPK for any drone, unlike DJI Terra, which is why we prioritize this software.
For example, ASP SUITE Software uses official GNSS antenna calibration files from NOAA (NOAA NGS Antenna Calibrations Website: https://geodesy.noaa.gov/ANTCAL/). You might want to analyze this information—it could be helpful.
 
We developed our workflow through trial and error, and like you, our initial results were mediocre. The main issue is that every surveyor uses different equipment and software, and it’s not always possible to identify the critical error (or setting) in the software affecting the final outcome on the first try.
If you need TOPOSETTER or TOPOSETTER P4RTK, message me privately. It’s paid software, but we’ve found a workaround.
 
DJI Phantom 4 RTK - PPK Data Processing | TOPOSETTER 2.0 Pro for P4 RTK

 
How to do post-processing kinematic PPK of Phantom 4 RTK data using ASP Suite to get cm accuracy

image
 
Posted : April 8, 2025 4:30 pm
1
land_odse
(@land_odse)
Posts: 28
Member
 

PPK mode is highly advantageous in areas with poor mobile communication signal coverage.
You can deploy a DJI D-RTK 2 Mobile Station on-site.
Determine its precise position using static measurements or RTK corrections (even partial/intermittent ones).
Calculate the base’s coordinates and transmit corrections to the drone locally

 
Posted : April 8, 2025 5:24 pm
jacob-wall
(@jacob-wall)
Posts: 134
Member
Topic starter
 

@land_odse Emlid Studio is free software, it uses kinematic processing to solve flight trajectory and is able to update tags of photos. I think this software is working fine and is easy to use. My next test will involve a longer flight of at least 10 minutes with a nearby base set up on existing control and logging at high rate while transmitting RTK corrections so that I can do a better direct comparison between PPK, RTK and ground control points.

One of my first flights with the M4E was on a larger site where I captured ~3000 photos, and since the M4E came with a 1 year license for DJI Terra, I did try it out but I think it was too much data for it because it was running into reconstruction errors during processing, which according to quick Google search appeared to be a memory-related problem due to the large number of photos. Agisoft Metashape worked just fine for that job, no memory issues at all so I've just kept using that software since I already had a license for it. The PC I'm using for the processing has 96GB of RAM, NVIDIA RTX 4070 graphics card with 12GB of memory, a 20 core i7 processor, and large SSD drive, so the problem with DJI Terra I don't think was due to hardware used for the processing.

For that longer flight, approx 2 hours total in 3 sessions, I was using RTK corrections from my office reference station which was ~11km away. The logging rate for this reference station is 15s. I did run a quick test this morning with some of the data from that mission, and differences between RTK and PPK there are in the ~4cm range vertically. But, we have other variables there like distance from reference station and logging rate, that I want to eliminate for a proper test.

 
Posted : April 9, 2025 11:48 am
2

land_odse
(@land_odse)
Posts: 28
Member
 

@jacob-wall

GNSS coordinates are usually calculated for the antenna’s phase center (APC), which may not coincide with the physical location of the GPS receiver and the camera. In the context of a drone, the GNSS antenna is typically mounted higher than the camera. If the DJI RTK system compensates for this lever arm (the offset from the antenna to the camera’s center) during geotagging, but we do not account for it in PPK, then the PPK coordinates will be systematically offset.
 
In Metashape, this shortcoming can be corrected by using the camera’s GPS/INS Offset parameters, by specifying the offset from the camera’s center to the antenna, however, this offset is different for each UAV.
 
This is the only explanation that has occurred to me so far, there may be additional reasons, and if any ideas come up, I'll be sure to share them. Please let us know here on the forum if you find another cause, as this is valuable experience.
 
Posted : April 9, 2025 8:25 pm
1
jacob-wall
(@jacob-wall)
Posts: 134
Member
Topic starter
 

I have completed additional testing to satisfy my curiosity and to ensure our workflows deliver optimal results.

Two tests were completed with the DJI Mavic 4E, both were ~18 minutes of flight time:

  • Test 1 - RTK corrections were received from a reference station ~300m from the project site. This reference station has a Leica AS11 antenna and a Leica GR30 receiver. NTRIP rate is 1s, and static logging rate is 15s. The reference station has a well established known position.
  • Test 2 - RTK corrections were received from a reference station on site. This was a Leica GS18 receiver, NTRIP rate was 0.2s as was the static logging rate. The receiver was set up over a known point that was established with a combination of RTK and static observations to the reference stations.

Both test flights captured 328 photos, the flights speed was pretty slow at 2m/s.

Nine GCPs were set at the site, which had a gentle slope but was mostly clear of vegetation. Two control points were set in hard surfaces, three in gravel pathways, and four were set in grassy field locations with some cleaning around the GCP to flatten the area. Coordinates were established using a combination of static, RTK, and total station observations (Leica TS16). Relative confidence at 95% was sub-10mm for the positions of these GCPs.

The first point of interest was simply to perform PPK processing of both test flights and compare the PPK position of each photo to the RTK position tagged during the flight. After completing the PPK processing initially with Emlid Studio, it became apparent that Emlid Studio was not correctly applying the phase center offsets for the antennas (which I have reported to Emlid). The correlation of the discrepancies vs. APC values for the different antennas was remarkable. So, then I decided to switch to DJI Terra to complete the testing, with results that aligned with expectations. The results of the EXIF comparisons can be summarized as:

  • Test 1 - Horizontal differences were minimal, a few mm at the most. The altitude, which was the primary concern, also quite minimal. On average the difference between RTK and PPK for the 328 photos was 2mm, with a standard deviation of 3.6mm. This was 1s RTK and 15s logging rate at the base for the PPK.
  • Test 2 - Again, horizontal was minimal, and on average the difference between RTK and PPK for the 328 photos was 6.5mm, with a standard deviation of 7.8mm.

Great, we have good agreement between the two positioning methods, under mostly ideal conditions. So, what about comparisons to GCP coordinates, which is what ultimately really matters. The methods used to determine this was not rigorous or sophisticated but representative of practical use. Horizontal comparisons were made by importing the orthophoto into CAD and simply creating points manually at target locations and comparing those to the GCP coordinates. For vertical comparisons, the point cloud was imported into Leica Infinity and averaging the surrounding point elevations at each target and comparing to the GCP elevation. The results can be summarized as:

  • Test 1, RTK at 1s - Average 2D delta was 17mm with a standard deviation of 7mm. Average vertical delta was -40mm with a standard deviation of 27mm.
  • Test 1, PPK with 15s logging rate at base - Average 2D delta was 16mm with a standard deviation of 9mm. Average vertical delta was -40mm with a standard deviation of 24mm.
  • Test 2, RTK at 0.2s - Average 2D delta was 15mm with a standard deviation of 10mm. Average vertical delta was +26mm with a standard deviation of 27mm.
  • Test 2, PPK with 0.2s logging rate at base - Average 2D delta was 15mm with a standard deviation of 5mm. Average vertical delta was +18mm with a standard deviation of 26mm.

Again, methodology was not perfect but it served the purpose. Sharing in case anyone finds this of interest.

This post was modified 3 months ago 3 times by jacob-wall
 
Posted : April 16, 2025 9:13 am
5