UAV Consulting

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?

There will be an event created (for which there is no image) when the drone powers off for the battery change. So you will need to delete the event that does not match up to an image. It should be easy to find since there is plenty of time between the time the last mapping photo was taken and when the drone powers down (2+ minutes of delay for flight time to land). When DD takes the test shot, it will (should) match with an event. So you could leave that photo and event since they match and just delete the photo before uploading to DD. You could also delete the test photo (and event) before doing your post processing in RTKlib.

So there won’t be extra events created from turning off and back on and the LEDs flashing?

I did not word that well. There will be one event created (for which there is no photo) when turning off and back on the drone (when switching the battery out).

1 Like

So what was the accuracy of results from SNAP PPK without any GCPs?

The results are reported above. Absolute 3-4" is a good start, but I have to believe after doing it a few more times (especially using rtklib) it will tighten up. What I mean by absolute is that I can build a surface from the point cloud, put it in my data collector and stake it out with that tolerance. A full GCP flight is around 1". The flight with the PPK and GCPs was obviously the best so it will be the new as-built flight mode. PPK without GCPs is proving to be good enough for pre-bid/pre-construction topos. This is a big thing for us because I can now go to a site with one vertical benchmark and supply the team with some pretty decent data. Especially if I know that it shot high or low overall.

One thing I haven’t mentioned yet is that with the Tuffwing kit I was getting some pretty good vibration on the Tallysman so I put a grommet on the mast to stabilize it against the shell.

Thank you so much for your response. According to your flight tests, was the time lag between camera and light detector the same? what was delay value you used to get accurate PPK positions of the photos?

From what I have found it is somewhere between 20-30ms so I haven’t put in an offset yet. A place I could probably pick up a couple of mm.

After doing the math I “might” be missing by around 0.03’.

This mean that time lag is different for each photo and each flight?