APM data logging - some ideas


Hi all!

I’d like to start discussion about APM 2.5 and data logging. The reason for that is this graph:

Looks strange doesn’t it? I created it using Mission Planner after some flights, but lets start from the beginning:)

I'm new APM 2.5 user. I successfully completed several flights and I'm quite impressed how all this stuff works.  Only thing which concerns me is  data logging. It just looks strange to me. The way in which all the data is logged makes any further analysis difficult. When analyzing my logs I made some observations  which I’d like to share with you:


>> Current time is logged within GPS messages only - In my opinion all lines should contain time. It would be much easier to compare data using Mission Planner or just excel. As you can see at the graph in post header, data which are logged with different frequencies are hard to compare later. Why? Because we have line number on x-axis instead of time. Time is also useful when you try to check plane response to step disturbance and tune PID using control theory. Believe me – there are some users which just need it. We can log time since APM power-up - not necessarily absolute GPS time. Of course it is possible to estimate time for each line (based on logging frequency) and correct all in excel but it takes a lot of time and it is still guessing.


>> Not all telemetry data can be logged onboard - For some reason it is not possible to log some data onboard. I'm aware of memory limitations, but sometimes you want to log chosen parameters and need only let’s say 40 seconds recording time. I think it should be possible to choose every single variable and record it onboard (compare list of parameters available via telemetry and logged onboard). Most important data for me are: radio input, target parameters (altitude, orientation angles etc.) actual pitch and roll angles, autopilot output commands, airspeed GPS data, pressure altitude, ground course. It would be great to have possibility to log it!


>> It is not possible to connect serial port logger to telemetry port - Not all users want to connect 3d radios / x-bee modules . Sometimes it does not make sense due to limited range or interference which cause data loss. I’m wondering if it is possible to switch off 2-way communication with mission planner and simply connect serial port logger to telemetry port. It could be one more configuration parameter and simple solution for my previous problem.


What do you think? Does it make sense? Let me know your thoughts.




E-mail me when people leave their comments –

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

Join diydrones


  • Developer

    I have to agree that the logging system is a little convoluted. It's hard to select what to log, and visualize the onboard logged data.

    On DroidPlanner I'm just skipping that and saving the MAVlink trafic to a file, so it can be analysed afterwards. Analyzing a .tlog file is much better.

  • I actually agree that time should at least be an option and if there were greater flexibility in allowing users to select which items they were logging (possibly item by item) rather than just predefined groups at least most of the processor speed log jam could be dealt with.

    And it would probably be fine to have a simple inter-GPS interval timer that provided a usefully accurate time stamp.

    Line number is a little lame.

  • John,

    I can understand performance issues. I'm not saying that all data should be logged simultaneously. My point is that, user should be able to pick every variable and log it onboard. As developer you can limit number of variables being logged. For example: user can choose up to 10 variables and log it at the same time, provided that data stream will not exceed system (memory) capabilities.

    The other thing is that APM prints most of this data via telemetry port anyway. Simpliest solution is to enable user to connect serial port logger like that: https://www.sparkfun.com/products/9530 and fix problem with time.

  • For me, all data should be logged against a timestep baseline.

  • Developer

    Without going into the specifics of how to properly log data, please keep in mind that logging is expensive. Trying to log to many parameters can actually degrade system flight performance.

This reply was deleted.