Linking DJI drone images to Reach RTK timing

Here’s an update.
It has been a bit windy this week so I I have focused on timing. A bit of soldering and a bit of programming and I have trigger for the reach that is synced with the DJI photo to a timing accuracy of about 30ms. It is difficult to be more precise than that as I have yet to find a millisecond clock to take photos of. With my reach results in UTC and with a 0.1 second UTC clock in the image my reach time marks, with a predetermined offset, will get the time right in the displayed clock 98% of the time.

30ms equates to an along track error of 15cm at 5m/s. Couple this with post processed kinematic GPS accuracy of say +/- 10cm horizontally and + 20cm vertically and the error budget looks like …

along track +/- 25cm
cross track +/- 10cm
Vertical +/- 20cm

The workflow is bitty and my electronics appalling, but if anyone is seriously interested in this then e-mail me simon.allen@spatialanalytics.com.au. I assume that my method of timing is similar to that which Sentera do to tie in their IR camera, but my method does not involve opening the drone and of course provides post processed kinematic accuracy on a DJI Phantom. Of course now there is a trigger then it can be used to activate additional cameras.

Just thought I would share and update.
Reach unit mounted on Phantom 4. I ran two missions (at different altitudes, hence slighly different lines) , the second mission was fully FIX and I successfully captured the Phantom 4 photo-timing signal onboard the reach for both missions. This allowed me to inject the PPK positions into the EXIF headers of the images prior to processing in normal photogrametry software.

Big excitement for me is that this is now a fully automatic process rather than a mandraulic data shuffle.

5 Likes

Waiting for less rain and wind to test this new installation.

3 Likes

CONGRATULATIONS¡¡ I hope it will work well, i like to try this week

I really like the DIY atmosphere in this thread :wink:

Hi Simon, this is great work, I’ve been trying to ‘sniff’ the shutter activation on the Inspire and have that event recorded by the reach with little success and have been following your work. I have a cradle constructed that’s mounted on the Inspire 2 and have just been logging mapping flights and manually updating the exif as close as I can get. Not bad results so far and at least the z values are closer to our local mapping datum after PPK and connection to our CORS network so this has benefit. Would you be willing to share how you are getting the shutter event from you Phantom as I would think this will be similar to other DJI drones. PS I’m a Geomatics researcher at Uni so no commercial end here. Thanks Conor.

1 Like

Interested to know how you pickup signal from phantom 4 camera to write timemarks on reach log.
Thanks

If you stop for each photo it slows your survey down, but reduces the timing criticallity.

Send me a message to discuss how to get timing on Inspire.

See link for update on this:

1 Like

Hi Simon, your posts are immensely helpful, welcome cliff notes on a skipped class. I’m a cinematographer experimenting with photogrammetry/modeling for dimensional control with the Inspire 2 / X5S cam. Attempts to model rather complex industrial structures have produced the usual frustrations… stitching errors, blobby meshes, point cloud noise etc. The gps variations in our data sets (orbits, nadirs, columns etc) is killing us… Possible to suggest how we might use the Reach with the I2 like you did with the P4?

The absolute biggest critical element in 3D structure work is the camera calibration. Nail this and everything else just falls into place (literally) in terms of fuzzy clouds. Are you trying to mesh? I have found that working directly with the point cloud is the answer for complex shapes.

If Pix4DCapture works with I2, I have a script that marries the pix4D millisecond timing events with the raw 5Hz position file from the reach and interpolates the position within the 0.2sec intervals.

Message me for details.

Simon

2 Likes

Thanks so much for your helpful reply. Pix4DCapture does work with the I2. We will need to test in prep for the specific capture strategy for this structure as we haven’t used it - usually use DDploy for nadirs, Autopilot for orbits + Go for columns & free flight - too many cooks! Only question for me, and this may be a dumb one but I haven’t gotten to test it yet, is if orbits / circular flights can be based on a manually set POI, or rather if one defines on a map overlay like one does with grid capture plans… if we can’t do tight manually defined POI orbits it will get unsafe given the environment and we’d need to add orbit data sets from an app that allows for this…we’ll be flying tight circles above multiple vertical cylinders. It’s a rather complex structure & we’re seeking dimensional control not only of the cylinder tops but on lower structural bars holding them together as well. So yest that script would be most appealing! And may I ask how ones get the married times/positions into the image metadata?

Exiftool, is a wonderful tool. Very powerful, very complete, my python script calls exiftool once it has all the data in the right format and order.

1 Like

Great. There are some functionality concerns w/ Pix4DCapture vs other guidance software (can’t set focus strategy to center/subject with altitude offsets for tight orbits for example, something of a damper on on-site improvisations given obstacles) but we can probably find workarounds for this in the field, perhaps with their freefly mode. I would be keen to give your script a try & would have a few workflow questions if you’d allow. Would be happy to provide project details, results etc. Would that work for you?

Hey Simon, I sent you an email inquiry on how to set this up on my P4 and I2. Great thread and thanks for the posts!!

Flew a mission at 10m/s to see what impact any remaining timing errors may have. Pretty happy with the results.
Using the launch point as a single check point the final orthomosaic displayed a 12cm shift. When corrected to for this with a global shift the final results for the other check points were, wait for it… I will let you know tomorrow.

Photoscan errors using a fixed camera calibration (no cheating)

2 Likes

Hello Simon,

I couldn’t find how to send you a PM. Would you please explain how you syncrhonize the pictures? I am intrigued by your IR method!

Thanks

Best regards,
Jose

How do your power the emlid? I’m trying to do similar with phantom 3 but want to keep it light. Why didn’t you mount the antenna more closely over the top of the camera? Seems like an unnecessary horizontal shift.

I could parasite power from the drone, but I don’t I mount an 18650 battery in the chassis.

Does your drone fly perfectly flat. If you put the antenna above the middle of the drone you will introduce an unnecessary horizontal shift.

http://www.spatialanalytics.com.au/Phantom4ReachLink.php
Have a look at the info on the linked page.
Simon