I recently purchased an ArduPilot Mega 2.0 Fully Assembled System with MediaTek MT3329 GPS. The idea is to couple this board to a camera in a manned plane and get the positioning as well as orientation values for each photograph.
However, I have two issues with the logging:
* first of all, the log files are not the standard NMEA0183 strings. Is this planned for the future or does any tool exist to do so (synchronising GPS+IMU data in the file’s Exif header often only works decently with NMEA strings)?
* is it possible to send a signal to the board so that I know when an image is acquired (obviously, this should have sub-second precision)? I was thinking of some circuitry that reecives an input when I press the camera button and send a signal to the board which is recorded in the log file, which would enable me to link the positional data of the log with the photograph.
If anyone else knows a method to perfectly synchronize camera time with the time recorded by the APM2 (sub second), feel free to tell me.
Finally, is it also possible to have the APM2 logging data only from a certain moment in time and not directly after powering?
The bad news is those features do not exist which kind of makes sense because you're using the APM for something it wasn't designed for. I think it would unlikely for the APM to use NMEA 0183 in the future because it already uses MAVLink which is an open protocol for micro air vehicle communication and logging that other autopilots use as well. The good news is all of the things you want to do are possible if you want to work with the source code for the APM.
you seem to have much experience with this (which I lack). Is it easy to delve in the source code and just program that logging should start (and directly stop) once the camera is triggered? How would you give this trigger?
The APM and associated firmwares are based on the Arduino so you can use the Arduino IDE to edit the source code and upload the compiled firmware to the APM. Here's the Arduino IDE download.
Source code for the different APM projects are on different Google Code sites. Here are those links for the source code.
Getting what you want out of the APM is possible but it won't be easy or quick. If you don't want to fiddle with it there might be commercial products or other open source projects that can do what you need.