UAV Consulting

Everything seemed to post-process correctly, but I won’t know until I can upgrade the geotags in the images and process the map. I am going to try to use Geosetter. First thing I ran into is that it does not like the Emlid RTKLIB GPX file.

Sorry, on my third beer.(Friday night here). Everything seems to make sense now :innocent:
I might edit this post in the morning

1 Like

Enjoy! Thanks for the live assistance! I’ve got two hours left… :slight_smile:

1 Like

But yeah, a positive value would put the antenna above the object you need the correct value for.

Ok, got the GPX file into Geosetter and it doesn’t have time, elevations or airspeed. The POS files do. With the events file there has to be an easier way?

1 Like

So now I see another offset value underneath that. Do I need to put the rover antenna height in there as well?

You dont have to if offsets been applied earlier.

I left that offset alone and am processing the data. I have a case study running and will have processed these images with 6 different methods so the ground-truth and end of this thread are near! Once I am comfortable with this mission and results I will, of course, run subsequent flights to proof the workflow. By the end I should have solid data comparison of the following.

Ground Survey
Drone Surveys

  1. DJI P4P with single-point calibration
  2. Emlid P4P M+ (mounted-only) with single-point
  3. DJI P4P with GCPs
  4. Emlid P4P M+ PPK with single-point calibration
  5. Emlid P4P M+ PPK with GCPs

Geosetter worked well once I had the GPX file correctly.

I already see a difference in DroneDeploy as I was able to tag 30% more images on the GCPs. I just uploaded them first mistakenly out of habit :slight_smile: , but my actual workflow will be:

  1. Set 1 GCP if one isn’t already available, preferably in a place that will remain
  2. DroneDeploy Planning
  3. Fly Emlid Each M+ P4P
  4. ACDSee image post-process
  5. RTKLIB GPS post-process
  6. GeoSetter geotag
  7. DroneDeploy upload and then use their single-point calibration which is like an after-the-fact GCP

Nice work @michaelL . I did finally get the tutorial video done for using Brian’s kit with M+ and EZsurv. I plan on doing a similar video using RTKlib for post processing. I just have to get the ground survey processing down pat :slight_smile: Also looking forward to doing test and seeing your various test results. Good stuff.


Now that I have actually made it through once with RTKLIB it is pretty easy. It just has too many options that make it look cluttered and disorganized. With the help I received I am sure I can move forward from here and continue to learn the other adjustments.


Here are the results of the first flight. I feel pretty confident that my first RTKLIB session was close and also that my method of ground-truthing is repeatable for future tests.

Basically what you see below are six iterations of two flights. One with a stock P4P and the other with the Tuffwing Emlid Reach M+ mounting system. My first flaw is that it is two different drones so I will need further testing. I tested the Emlid mount on a different drone because I didn’t want to take a chance of killing my production machine. I will definitely need a grommet or shock absorber on the mast of the Emlid mount due to noticeable vibration.

The non-GCP/non-PPK maps were single-point calibrated in DroneDeploy. The figures at the bottom of each table represent the mean error and mean deviation of each set as reported by the point cloud in comparison to the GCPs surveyed with Topcon Hiper V receivers. I hope that as I move forward and learn the systems that my results will start to approach our construction tolerance of 0.10’. I’ll let you all make of it what you will. Obviously GCPs will always be better, but the PPK results being within about 3" without a GCPs is encouraging. There are two PPK sets because I processed the first one with the full track and then figured out how to make the track using just the events which was a little better I think because I wasn’t guessing at a position to match the image to. I’m off this coming week, but hope to jump right back on it when I get back.

Thanks to all for the assistance as I learn!

GCP Label Latitude Longitude Elevation (ft)
1 30.01844948 -97.81808927 669.125
2 30.01797779 -97.81793771 672.333
3 30.01786367 -97.81726997 675.575
4 30.01846562 -97.81758393 673.345
5 30.01807463 -97.81772421 680.625
6 30.01842175 -97.81790371 677.047
DJI P4P Single-Point Calibration
1 669.87 0.745 0.020
2 672.48 0.147 0.578
3 673.24 2.335 1.610
4 672.57 0.775 0.050
5 680.28 0.345 0.380
6 (Calibration) 677.05 0.003 0.722
0.725 0.560
Emlid P4P M+ Single-Point Calibration
1 669.06 0.065 0.193
2 671.77 0.563 0.305
3 675.6 0.025 0.233
4 674.07 0.725 0.467
5 680.46 0.165 0.093
6 (Calibration) 677.05 0.003 0.255
0.258 0.258
1 669.14 0.015 0.062
2 672.27 0.063 0.014
3 675.42 0.155 0.078
4 673.31 0.035 0.042
5 680.75 0.125 0.048
6 676.98 0.067 0.010
0.077 0.042
Emlid P4P M+ PPK Full Track
1 669.16 0.035 0.244
2 671.87 0.463 0.184
3 675.71 0.135 0.144
4 674.18 0.835 0.556
5 680.57 0.055 0.224
6 677.2 0.153 0.126
0.279 0.246
Emlid P4P M+ PPK Events
1 669.19 0.065 0.241
2 671.87 0.463 0.157
3 675.8 0.225 0.081
4 674.21 0.865 0.559
5 680.63 0.005 0.301
6 677.26 0.213 0.093
0.306 0.239
Emlid P4P M+ PPK GCP
1 669.07 0.055 0.003
2 672.3 0.033 0.019
3 675.47 0.105 0.053
4 673.29 0.055 0.003
5 680.63 0.005 0.047
6 676.99 0.057 0.005
0.052 0.022

Ok folks! I went out on a limb today so I hope it doesn’t break before I get my good results back. Actually I have a Plan B, but it will crunch my deadline if I have to use it.

Went to a site on short request today to topo an area for a huge add-on to an existing project we are already working on. We are the utility and concrete subcontractor to a larger GC and they basically want us to take over for the existing excavation subcontractor that isn’t getting it done. Another story for another time, but they are built to mass grade and we have covered them several times when real accuracy is required. The amount of material required is estimated (by the GC’s engineer) to be around 120,000cy so they asked me to fly the drone to verify.

Got to the site, checked in with our guys and they already had a base station up so all I had to do is get my Topcon rover out and shoot in a control point to set my Emlid Reach RS+ base on. Tip: always shoot two points in vicinity! Setup the ERS+ base, turned on logging and got the drone ready. Turned on the Emlid P4P, leaving the M+ off and setup the flight plan. Flight plan ready, turned on the M+ and turned on logging. Flew, turned off the M+, drone and then base. I was in and out in 45 minutes. This normally would have required at least 5 GCPs and taken at least another hour to accomplish. Double that if I had been using the RS+ gear to set the GCPs.

Fingers crossed, but I am going to start Plan B now just in case…

Have you tried the static start option in RTKPost?
I have very good experiences with it for kinematic logs.

I have not. What will that do?

This explains it quite nicely: RTKLIB: Static-start feature – rtklibexplorer

Wow, that’s exactly the kind of thing I need! Thanks Christian!

As I don’t have an M+ drone solution, I have used it with success on my usual rover.
However, it does also sort of defeat the purpose of using an RTK drone somehow, because of the minimum 15 mins that the drone has to sit still before flight.

What workflow would you all suggest for multi-battery flights? Will rtkpost recognize me getting back into position? I think one problem will be that DroneDeploy takes a test shot at each lift-off. I would have to manually remove the images and edit the POS?