ArduCopter Math and Software Architecture

Hi All,
We’re (Perception and Robotics group at the University of Maryland, College Park) very happy and amazed by the ArduCopter community and how well it works on various platforms. We wanted to document the entire software architecture so that researchers can start using arducopter over PX4 (by far the worst experience ever). Is there anything I can be pointed towards for a start? The most important parts would be the complete control structure (I looked at the wiki of course but it misses a lot of details about filtering and such) and EKF formulations. I personally believe that it would be massive help for anyone to make the core functionality better.

What do you guys think?


Meanwhile here’s a sample document for every class of drone we built:

I think it would be great to have improved developer docs on the control structure and architecture. The biggest issue is that the structure is changing quite rapidly as we find better ways to do things.
How do you want to collaborate on this?
Cheers, Tridge

I’m thinking of writing a 6 page paper for a robotics conference which should serve as a tutorial for anyone getting into autonomy. Let me know your thoughts.

PS: I totally understand that things change often, but this can serve as a starter guide for a lot of people who want to get into customizing the stack for research or adapting to new vehicles.