Logging of altitude for CAM messages switching from AGL to MSL

Hello, I have recently installed a hot shoe adapter to my camera for more precise georeferencing of images. I am using a PixRacer dedicated to georeferencing captured photos from the ground (to merge with aerial photos) and am using ArduCopter 3.5.5 right now. The logged CAM messages are not being consistent when recording the altitude for some reason, and I am curious if anyone has a fix for this. Here are two CAM messages from the same log, with the photos being taken one after another:

CAM, 125169305, 319651200, 2010, 34.2381898, -118.9153958, 2.02, 2.02, 84.68, -6.38, -10.47, 302.04
CAM, 129069625, 319655200, 2010, 34.2381832, -118.9153716, 84.65, -2.02, 84.8, -1.6, -14.9, 260.52

The GPS data is delivered as Latitude, Longitude, ALT, Relative ALT, Absolute ALT. You can see here, that the first line uses the relative alt, or AGL, as the known altitude, but the second uses the absoute alt, or MSL. Does this happen before enough satellites are connected and the hdop is too high? I waited approximately 5 minutes to allow for proper GPS connection, but once the log switches to MSL, I have never seen it switch back to AGL altitude. Any assistance would be appreciated, as I cannot figure out what causes this. I will be uploading the log in its entirety for anyone curious.

On a side note, I noticed when the logs record MSL as the altitude, it never seems to record the same MSL altitude as seen later in the same line. In the second CAM message I posted, the altitude recorded is 84.65, while the MSL altitude is 84.8. I assume this has to do with EKF algorithms using other sensors, but is there a way to convert the MSL altitude to this new altitude to alter previous lines of CAM messages that are using AGL altitudes?

Thanks in advance, this issue is very annoying due to its inconsistency and I do not want this problem creating issues in the future.

Edit: The log will not upload for some reason. I can try again later on if someone thinks it will help.


I have problems very similar to this, and everything I look in ardupilot about this issue, either has just one unclear answer or not answer at all. Like this subject and my answer. Anyway let me give you an advice. You have more possibilities to get an answer if you write as a mission planner issue. @Michael_Oborne answers this most of the times.