Hi all,
I use APM:Copter and the newer beta firmware to take advantage of geographical distance camera triggering. Did a test some days ago and it works. The downside is that this beta version seems to overburden the processor, causing telemetry message frequency to decrease significantly.
I needed to have images geotagged and this depends on a time offset between camera clock time and GPS time. The camera time isn't visible in seconds or in realtime, so this kind of synchronization is pretty cumbersome. If for any reason you can't recover the offset, a whole batch of photos may be lost.
So my question:
Doesn't MAVlink actually send camera trigger messages through telemetry?
Paparazzi uses a DC_SHOT message strategy with an incremental counter. The photos are collected and correlated to this index number in telemetry. You don't need them all, as long as a good number has the position inserted.
Only one such message would be necessary to work out the time offset between camera and gps time such that the actual positions can be derived from the rest of the log where the trigger messages are missing.
Replies
Please read the wiki on logs.
Just a note this last point which tripped me up for a moment to enable camera entries in the log the command is 'enable camera' not enable cam!
Change the .log to a .csv. Open the .csv in excel. Use the filter tool to only see lines that start with CAM. You will see the time stamps in milliseconds along with the IMU data and altitude for each moment the APM commanded a camera trigger. Unfortunately the time stamp has no date, so you can just use if for referencing time elapsed from a floating reference point that you must establish yourself.
If any developers are reading this, I have a question. I understand that the APM has no battery to keep time. However, doesnt the GPS signal include the date? Couldn't this be used to time stamp the log events, as well as the log itself?