Architecture / Design documentation

Forgive me if the answer is obvious somewhere, but I have been unable to find a document that describes the software architecture. Is there a set of documentation that describes the software architecture / design decisions and approaches for this software?

Thank you very much.

http://ardupilot.org/dev/docs/learning-the-ardupilot-codebase.html
http://ardupilot.org/dev/docs/apmcopter-code-overview.html
:wink:

1 Like

By the way, I’ve been doing some “drone school” training here in Japan. Here are some presentations from that school. Feel free to re-use them of course, just please be sure to mention that you got them from me.

Operational training:
https://dl.dropboxusercontent.com/u/3852647/SoftwareTraining/JapanDronesOperationTraining_Sep2016_ver1.pptx

Attitude Control: https://dl.dropboxusercontent.com/u/3852647/SoftwareTraining/JapanDronesSoftwareTraining_AttitudeControl_Nov2016_ver1.pptx

Software Overview: https://dl.dropboxusercontent.com/u/3852647/SoftwareTraining/JapanDronesSoftwareTraining_Oct2016_ver1.pptx

Sensor Drivers: https://dl.dropboxusercontent.com/u/3852647/SoftwareTraining/JapanDronesSoftwareTrainingSensorDrivers_Aug2016_ver1.pptx

3 Likes

Wow!! Thanks so very much. This is very helpful. I will reference you in the future. Thanks again.

Thank you very much for the reference!!

Nice Randy! thanks! I’m planning to give classes in Brazil and for sure those will be very handful. I’ll translate and send you a copy in portuguese :slight_smile:

I have read through the slides. They are very helpful. I was wondering if there is a bit more detail available on the software architecture. I am specifically looking for information regarding the process / thread model, run-time behaviors, and interfaces:

  • what processes and threads are used
  • what are the process / thread interactions
  • what scheduling mechanisms are used to schedule the process / threads and their behavior under various conditions
  • what mechanisms are used to communicate between processes / threads and their behaviors under various conditions
  • what faults are handled and what mechanisms are used to handle / manage faults
  • what security / information assurance mechanisms and support is in place and their behaviors under various conditions
  • what interfaces are used between processes / threads
  • how much resources do the specific processes and threads require for execution (for each resource)
  • are there shared resources and how are they managed under various conditions
  • the rationale for design decisions made

I know these are a lot of questions and the answers may not be documented. I am very willing to spend time with those who can answer these questions (over the phone or via email).

Thank you very much for your time and consideration.

Mike

Hi Everyone,

In order to get an overview of ArduCopter project I am currently looking for some documentations.
I didn’t find any king of architecture/design documentations such as UML diagram.

Is there any kind of documentations for this project ?

If this not available is there a way to generate theses UML digram ?

Thanks in advance

Seb