I’m working on a study to understand the most common sources of bugs in drone software. I’ve gone through the github issue trackers for ardupilot and px4, which was very helpful, but I know that many bugs aren’t reported, are fixed before publicly committing, reside in forks of ardupilot, etc. I’d love to hear from developers about where bugs commonly arise. Here is a certainly non-exhaustive list of potential sources of problems:
Mathematical mistakes in control laws
Control implementation bugs
Interactions between multiple controllers/modes
Floating point exceptions
Floating point rounding error
Mode switch issues
Sensor fusion problems
Failure to notify user of a problem
I’m using the loosest possible interpretation of “bug”, so a bug could be an important missing feature, a bad user interface design, etc. Another way of putting this is: what aspects of drone software are the most difficult to get right?
Just for some context, this is a part of a project to develop better verification tools and techniques for cyber-physical systems (veridrone.ucsd.edu). Our hope is to use this study to focus our work on the most common sources of issues in drone software.
I've posted this request in a few places already, so I apologize to those who have already seen it.