Camera Trigger and Geo Tag Images - Part 2

3689687532?profile=originalI have been using Canon S100 GPS for most of my aerial mapping work. It has been good to me as I do not require very high accuracy of the GPS location. My experience tell me that even with the small on board GPS receiver in the camera, my accuracy is always within 3 to 8 meter. Recently there are some request where very high resolution imagery is required and I start looking at better camera. For my Skywalker and FX 61 base UAV, I select Sony RX III or IV.

Since Sony III / IV does not has build in GPS, I had to use the Geo Tag feature in Mission Planner. I'm not going to re write the general work flow as it has been well documented here. I just want to share some issue that I encounter and how I solve it. 

CAM Message synchro

As stated in the manual, we can use CAM message from dataflash log and also time offset. It really doing a good job - provided you have set it up right. Very often user may encounter problem which prevent him/her to successfully Geo Tag  images and it is NOT fun to re fly the mission again after a long day in the field

For CAM message geo tag ,  " The most common problem in this processing mode is having a discrepancy between the number of CAM messages in log and the number of pictures in the folder. If the tool finds that they are different, it will output an error message and abort." as stated in the manual. Simply said, if the tools find more CAM message than the available images in the folder, it won't continue and you may end up forced to fly the mission again. 

To prevent the discrepancy, it is important NOT to set the camera trigger interval too fast. I think to be in the safe side, the minimum time trigger between images is 2.5 seconds. This will give the camera plenty of time to write data to memory card and get ready for the next shot. Some how if it fail, I use the following method to " rescue " the dataset. 


So, we have a problem here. CAM message 119 while only 114 images found. 


Using Geosetter, I found out that between image 1536 and 1537, the time difference is 6 seconds while other is one or two seconds. So the camera had stopped taking picture here. Since the tools tell me that it need 5 more images, I simply add 5 random images between images 1536 and 1537 and rename them to 1536_1, 1536_2 and so on. 


Now the folder has the exact number of images and the tools is happy to pre process it and subsequently geo tag the images.

3689687670?profile=originalI check the result in Geosetter and found that location is accurate. Of course the few " add on " images, even being geo tagged but won't help in orthomosaic / DEM processing for obvious reason. But at least we have most of the images geo tag and even need to re fly the mission, we only need to cover those missing area rather than the whole area. 



I think CAM message is the best and most accurate way to geo tag images. If you are using Seagull Map2 or similar trigger device, just make sure to check " Photo every ( est ) " is more than 2 seconds when you build your mission and you should good to go. 

Time offset

I consider Time offset is a back up method if the CAM message fail. For time offset, the common issue is the " estimated offset " suggested by the tools is not accurate and user need to play around with the figure. the end result may not accurate either because we just " guessing ". I do have some confusion regarding the time offset idea. My initial understanding is the auto pilot will record the time stamp once it get first GPS lock ( may be 6 satellite and above ? ) then the tools will find the time of first image. The difference is time offset. It seems that the " estimate offset " in the tools also work similarly. But if you input the offset amount suggested, the GPS location is way out. 



The best way I found out is just set camera time to your local time. You can simply Google your local time, in my case, I check here. Although most camera only allow to set up to minutes, you can set may be one or two minutes ahead of the time shown in the web site and wait to 59 seconds then press the " SET " key once it turn 00. Do it as precise as possible. You can take a picture of the computer screen with the time shown and check the images in Geosetter, which can display the image exif file up to seconds


Once the time had setted, if you use Time Offset for geo tag your images, you simply input 0 second offset, then go for pre process and geo tag images.


Here's the result


There you have it, a nicely geo tag data set waiting for processing. Some decent eyes may found that my Skywalker not tracking well at the first way point. This is because it make a sharp turn of more than 150 degree go toward way point 2 and for some reason the auto pilot is quite lazy to trace the grid line at that point. Normally I'll set 50 to 70 meter over shoot, depends on wind direction to avoid this issue. I also try not to let the plane turn more than 90 degree on it's flight path toward second way point. 

I hope the above info will complement the Arduplane manual and make geo tag images easy and fun. 

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Another option for geo tagging is SwiftTag which can handle photo/cam discrepancies and also tags with aircraft attitude.  http://swiftradioplanes.com/swifttag/

  • MR60

    thx for posting, useful stuff.

  • 100KM
    @ Charlie, thanks for your info. I've been using S100 for years and don't know this function. I'll also try the KAP log and see how it work.
    @ Leonardo, I usually not using tlog because most of the time I do not have full tlog throughout the mission flight. But good to know
    It now seems to me that time offset is also reliable, as long as you syn the time.
  • just spotted the above was about the rx100 not s100. so my comment not terribly relevant. apologies!
  • Thanks for taking time post both parts, very helpful and informative for all of us.

  • If you sync the camera clock with the GPS clock you can export your telemetry flight log in the GPX format and use it on Geosetter. Geosetter can tag the images based on the GPX file and the time that the photo was taken. It's really simple, i use it all the time.

  • Hi, if you are using an S100 do you not find the auto time update feature gives you good enough time sync to just use time offset method with an offset of zero? I have found this to be more accurate than tagging using the cam_trig messages. Usually the majority of images are better than +/- 2-3m accuracy with this approach.

    Just flew a trial map using Emlid Reach RTK and S100 this morning, when I have a chance to download everything I am hoping to use the CHDK KAP script log (with precise shutter release times) to further improve the accuracy of the tagging (though it will depend on the GPS clock sync being very good).

This reply was deleted.