Phantom 4 and "milliseconds"

Joined
Sep 28, 2016
Messages
185
Reaction score
31
Age
39
1) P4 edits the timestamp of photos (UTC time) limiting it just to seconds.
2) Litchi's log contains milliseconds (UTC time).

What I need to know is the time, with the milliseconds included, in which each picture is taken.

During a photogrammetric mission I automatically take photos using the Timelapse command and setting a time interval.

Some ideas...

If I click Timelapse button at something plus 000 milliseconds (UTC time) all the shots would be correctly geotagged (just seconds with 000 milliseconds). Or... If I could get the moment of each shot in Litchi's log I could associate the correct UTC time. Or... If I stopped the drone for at least a second in each shot, milliseconds would not matter (but I would have a battery problem).

Any procedure ?
 
I use Litchi.

The folder FlightRecord is located in DJI/COM.ARYUTHERE.VISIONPLUS/FlightRecord

Inside there are file with name DJIFlightRecord_YYYY-MM-DD_[some numbers].txt

These files are crypted... uploaded into phantomhelp.com/LogViewer/Upload/... but less info than csv files that I can find in LitchiApp/flightlogs/YYYY.MM.DD_v2.csv
 
Last edited:
I use Litchi.

The folder FlightRecord is located in DJI/COM.ARYUTHERE.VISIONPLUS/FlightRecord

Inside there are file with name DJIFlightRecord_YYYY-MM-DD_[some numbers].txt

These files are crypted... uploaded into phantomhelp.com/LogViewer/Upload/... but less info than csv files that I can find in LitchiApp/flightlogs/YYYY.MM.DD_v2.csv

Android Litchi must have a different directory structure. Anyway - if you are using PhantomHelp to decode the file then you need to choose "Download verbose CSV".
 
Ok... i got it... I've used TXTlogToCSVtool found on this forum...

Now i got a huge excel sheet with timestamps in milliseconds and many many columns with all the actions of the drone... including this stuff...

CAMERA_INFO.connectState CAMERA_INFO.usbState CAMERA_INFO.timeSyncState CAMERA_INFO.photoState CAMERA_INFO.recordState CAMERA_INFO.sensorState CAMERA_INFO.sdCardInsertState CAMERA_INFO.sdCardState CAMERA_INFO.firmUpgradeState CAMERA_INFO.firmErrorType CAMERA_INFO.hotState CAMERA_INFO.enabledPhoto CAMERA_INFO.isStoring CAMERA_INFO.isTimePhotoing CAMERA_INFO.encryptStatus CAMERA_INFO.mode CAMERA_INFO.sdCardTotalSize CAMERA_INFO.sdCardFreeSize CAMERA_INFO.remainedShots CAMERA_INFO.remainedTime CAMERA_INFO.videoRecordTime CAMERA_INFO.cameraType

What is the parameter that corresponds to the picture taken?
 
Ok... i got it... I've used TXTlogToCSVtool found on this forum...

Now i got a huge excel sheet with timestamps in milliseconds and many many columns with all the actions of the drone... including this stuff...

CAMERA_INFO.connectState CAMERA_INFO.usbState CAMERA_INFO.timeSyncState CAMERA_INFO.photoState CAMERA_INFO.recordState CAMERA_INFO.sensorState CAMERA_INFO.sdCardInsertState CAMERA_INFO.sdCardState CAMERA_INFO.firmUpgradeState CAMERA_INFO.firmErrorType CAMERA_INFO.hotState CAMERA_INFO.enabledPhoto CAMERA_INFO.isStoring CAMERA_INFO.isTimePhotoing CAMERA_INFO.encryptStatus CAMERA_INFO.mode CAMERA_INFO.sdCardTotalSize CAMERA_INFO.sdCardFreeSize CAMERA_INFO.remainedShots CAMERA_INFO.remainedTime CAMERA_INFO.videoRecordTime CAMERA_INFO.cameraType

What is the parameter that corresponds to the picture taken?

CUSTOM.isPhoto
 
Is all empty. Maybe the timelapse of Litchi cant trigger this field :(

I see CAMERA_INFO.sdCardFreeSize which decreases with each photo or maybe CAMERA_INFO.remainedShots

It's populated in my logs of automated Litchi imaging. But you certainly could use the decrement of those other fields instead if you don't have CUSTOM.isPhoto data.
 
What I need to know is the time, with the milliseconds included, in which each picture is taken.
People use Phantoms all the time for photogrammetry without needing this.
What program/s are you using that you need this info?
During a photogrammetric mission I automatically take photos using the Timelapse command and setting a time interval.
Why would you do that?
You'll never be able to shoot with anything like precise overlaps that way.
Why not use a mapping app to do the hard work for you?
 
People use Phantoms all the time for photogrammetry without needing this.
What program/s are you using that you need this info?

Why would you do that?
You'll never be able to shoot with anything like precise overlaps that way.
Why not use a mapping app to do the hard work for you?

I use that method (constant speed + time-lapse) for search and rescue because it covers ground more efficiently than stopping at each waypoint and it's easy enough to set the interval conservatively enough to ensure overlap, but it is going to be less precise for photogrammetry - maybe unusable. It would be interesting to see a comparison to confirm.
 
I use that method (constant speed + time-lapse) for search and rescue because it covers ground more efficiently than stopping at each waypoint and it's easy enough to set the interval conservatively enough to ensure overlap, but it is going to be less precise for photogrammetry - maybe unusable. It would be interesting to see a comparison to confirm.
With photogrammetry you aim for an overlap of 70% or more which would return a lot more images than you'd need for SAR.
Here's a screenshot from partway through a small mapping mission:
i-Z32FWw4-L.png

This is a plot of the centre points of the resulting images.
Nice, regularly spaced and shot at 28 mph.
i-Xpgg2nT-L.jpg

Looking at DroneDeploy, it allows you to cut the overlap back to a minimum of 30% which won't be useful for mapping but might be useful for a search?
i-FLSj9Rt-L.jpg
 
With photogrammetry you aim for an overlap of 70% or more which would return a lot more images than you'd need for SAR.
Here's a screenshot from partway through a small mapping mission:
i-Z32FWw4-L.png

This is a plot of the centre points of the resulting images.
Nice, regularly spaced and shot at 28 mph.
i-Xpgg2nT-L.jpg

Looking at DroneDeploy, it allows you to cut the overlap back to a minimum of 30% which won't be useful for mapping but might be useful for a search?
i-FLSj9Rt-L.jpg

Yes - I use an overlap of around 30%. You could still run time-lapse and get 70% overlap, but I was thinking that the positional uncertainty would be higher when shooting photos while moving.
 
To plan the flight I use Mission Planner.

Commercial apps (such as DroneDeploy) are not suitable for flying over land with huge altitude differences distributed over very small distances, especially if these altitude differences are constantly changing. In Mission Planner you can upload an updated and detailed DTM of the area on which to fly and you can fix the various overlaps even in the presence of extremely rugged and steep orography.

Then, I export the mission in Litchi and I fly the P4 with all the parameters to get GSD and overlaps chosen. I usually prefer to use the Timelapse function instead of stopping the drone on each trip point because the second solution consumes the battery faster and if I have to cover large areas I can not have enough autonomy if the drone has to stop and start every few seconds. Flying at low speed and shooting at a fixed interval is a good compromise.
 
Last edited:
People use Phantoms all the time for photogrammetry without needing this.
What program/s are you using that you need this info?

If I know the moment when the P4 takes the picture, flying at low speeds, I can correct the inaccurate geotagging of the drone GPS with the data of a fixed station. That is, I can avoid using GCPs ...
 
You could also use Map Pilot which supports terrain following using DEM from custom sources. How you can correct the geotagging of the drones gps do you use other gps attached to the drone which supports PPK?
 
You could also use Map Pilot which supports terrain following using DEM from custom sources.

In many cases I have found that the best solution is to take off from one of the highest points (among those accessible), make the drone raise only few meters and fly at a constant altitude. Doing so, you need to calculate well all the parameters to get the desired overlaps, considering that with the same FOV of the camera corresponds a different footprint to the ground. It is the safest way to fly and the results are good.

All this can not be managed with a standard app but must be studied on a case-by-case basis.


How you can correct the geotagging of the drones gps do you use other gps attached to the drone which supports PPK?

Something like that.

I mounted a light GNSS receiver outside the drone and found a way to automatically correct the image geotagging.

I am still experimenting but I am confident that I can find a robust solution to be applied in real cases.
 
1) P4 edits the timestamp of photos (UTC time) limiting it just to seconds.
2) Litchi's log contains milliseconds (UTC time).

What I need to know is the time, with the milliseconds included, in which each picture is taken.

During a photogrammetric mission I automatically take photos using the Timelapse command and setting a time interval.

Some ideas...

If I click Timelapse button at something plus 000 milliseconds (UTC time) all the shots would be correctly geotagged (just seconds with 000 milliseconds). Or... If I could get the moment of each shot in Litchi's log I could associate the correct UTC time. Or... If I stopped the drone for at least a second in each shot, milliseconds would not matter (but I would have a battery problem).

Any procedure ?
All commercial photogrammetry software use the geo data embedded in the photo not the timestamp.
 

Members online

Forum statistics

Threads
143,066
Messages
1,467,355
Members
104,934
Latest member
jody.paugh@fullerandsons.