Affordable way to integrate Reach M+ with DJI Phantom

Yeah, those gaps look like things that would have been removed during DTM’ing anyways. What’s your acreage and point count?

then i think you were lucky. i don’t ever remember not having the occasional dropped photo. sometimes it was the Map Pilot app contributing to the problems though. It used to be horrible when the on-screen dots caused memory issues and after about 100 or so photos it just became a random sh*t-show.

I just fly enough side and forward overlap to deal with it. more than a couple of missed photos occurring on two adjacent lines in the same area would be enough to mess up a mission though. thankfully this hasn’t happened yet.

1 Like

I removed posts to reduce thread clutter as were quasi-irrelevant to original post. I might start a project share thread separately if get around to finish.

But acreage off top head was just below 1,000 IIRC and point coint not sure yet but was planning to up point density during processing as computer allows. It was a long day as had to fly manual second half due to airport and DJI geofencing.

1 Like

@michaelL question for you. The flight log TXT file on your iPad or Android device contains the precise time the photo was taken down to the millisecond. By using the TXTtoCSV converter program, you convert the flight log to CSV and open it in Excel. There are two columns to work with.

|CUSTOM.updateTime CAMERA_INFO.remainedShots|
|2019/02/08 17:35:08.089 3403

By using Excel (if then) statement you can find every record where the Remaining shots changes. That is the record that contains the time stamp for the photo down to the millisecond.

Now all we have to do is take that time stamp and convert it to the format in the Events file.

So we need to convert this format:
2019/02/08 17:35:08.089

And convert it to this format and save it as an events file:
FallingEdge_Week,FallingEdge_Seconds
2,032,586,847.56
2,032,586,850.16
2,032,586,852.76

This no longer requires the use of the sensor. You just mount the M+ on your drone, log and then create an Events file from the Flight Log.txt file.

Is there any reason this will not work? And the precision should be very accurate. Let me know what you think? I am trying to find out how to convert between the two formats.

Giuseppe is the person who made me aware of the Flight Log having the camera events logged there.

Also by using this method, you are manually creating an Events file that will then be used in RTKLib or my case, EZsurv. The time in the flight log.TXT file should be using GPS time (from the P4P) so it should match precisely with the M+ time.

This is the link to download the TXT>CSV converter:

If someone donats a significant sum to the Against Malaria Foundation I will integrate a function in my Timemark time machine that reads this text file and integrates the events into the corresponding RINEX file.

It is not good idea, because Camera sensor has it’s own time and every shot the camera sensor syncs its own clocks.
Sync time is 0-45 ms.
That means you will have not precise timemark event. Error is 0-45 ms. It is very big delay.

VanavaraDigital, I like others would be interested in Ashot for the sole purpose of not missing photos. It happens on every single mission.

But as far as using the timestamp in the FlightLog, I suppose the big question would be “when is the TS created in the FlightLog TXT file”. Is it pre-shutter, mid-shutter (as Ashot) or post-shutter? I have to believe using the FlightLog TS is much more consistent and accurate than using the LED blink.

Today or tomorrow I will compare the TS on each photo (Blink VS FlighLog) and see how they differ.

But the Ashot looks like a good paid solution none the less! Thanks for the reply.

is this 0 to +45ms, or ±45ms?

it is 0 - (+45)
± 22 ms, if you will replace TM in rinex

hi, about what flight log you said?
Please tell me, where can I download it from my ph4pro?
I can do it tomorrow.
And please give me this log, I will see it today.

p.s. if you said about Log file on Pad, it is bad idea)))) Because we fly in the forest, int the city etc and the link are broken often.

AShot can do his job without RC link!

Thanks

DJI Pilot App Export Log File from iOS Device - YouTube is a video on getting the log file.

You will need to download the TXT>CSV converter file.

Once you convert the TXT to CSV and open it up there are two columns you are looking at:
|CUSTOM.updateTime|CAMERA_INFO.remainedShots|
|2019/2/8 17:35:08.089|3403|
|2019/2/8 17:35:19.281|3402|
|2019/2/8 17:35:40.322|3401|
|2019/2/8 17:36:22.146|3400|
|2019/2/8 17:37:22.854|3399|

Each time the photo is taken the value for remainedShots will decrease by one. Now you can see the timestamp in millisecond for that photo. What I don’t know is when during the shutter actuation is that done??

I think Tobias is going to make his program so that it will read the text file and create the events based on the FlightLog TXT file. As long as the time stamp is very precise then this will be a very good method for creating the events file. I still want an Ashot for the sole purpose of not missing photos. Because DJI is not going to fix it.

Link for sample file. There are three files. Original, converted, and then where I tweaked the data in Excel.

Interesting. My horizontal residuals in agisoft photoscan suggest ±45ms. I see residuals along track, forward and back, of up to 23cm, which corresponds to about 45ms in either direction. The vast majority are below 15cm though. I suppose this could also be interpreted as 0-90ms as well.

I wonder if LED driver duty cycle is adding its own delay on top of camera sync issue? And I’m seeing the compounded errors.

Thank you for donating! Please send me the corresponding files (preferably does where the timemarks from the led are present).
If someone comes up with an idea how the derive the time offset I will integrate that solution into the script.

I am wondering if an offset is needed at all. How will we find out exactly when the log entry is created. At the very least by using this method it should be very consistent. Hopefully someone will know those answers :slight_smile:

Do you use map pilot? I can figure map pilot timings vs LED blinks and calculated actual time

Tobia,
here is the link to a file. You would want to write the program to use the CSV file. That would mean that we have to download the FlighLog, Convert it, and then run your utility.

Once the CSV file has been opened and parsed, you will look at the column [CAMERA_INFO.remainedShots] . When the value of this has decreased by a value of 1, then you take the time stamp value in column [CUSTOM.updateTime] and create an event.

The question that remains as to when this event is created in the DJI Flight Log. If it is Mid-Actuation, like the Ashot, then I would think no adjustment (offset) is required at all. But I am not sure how you will find out definitively when this occurs. Is there any way to run tests to determine this?? That is certainly beyond my abilities :slight_smile:

it is not good.

  1. Flight log on the Pad. If there is no Link - there is no log???
  2. Drone clock is not sync with Emlid reach clock.

I can check this idea after 1-2 days.

I recently started using MapPilot. This afternoon I have to go do a baseball field I will use MapPilot for that. I will provide the log files for that mission (including the FlightLog file on my iPad Mini.

The FlightLog file that is on the iPad (or Android) is received from the phantom 4 pro drone which is GPS time from the drone. Even though it is not derived from the M+, are not all GPS times in sync with each other?