I've put together a wiki page on learning the ArduPilot code base. Perhaps you are a ArduPilot user who is looking for something to occupy them while recovering from too much turkey this weekend? Try some of the exercises on this wiki page as a sure fire cure for the effects of overindulging:
Best wishes for a great weekend from the ArduPilot team
Comments
This is just awesome! Thank you!
I'm looking to get involved in developing the code and really figuring out what is going on "underneath the hood". further down the line I would like to somehow incorporate this knowledge into my senior design project. I've downloaded the code and have been poking around the tutorial, but I have very limited coding experience (SQL and Javascript) and simply don't understand most of the jargon. Does anyone have any suggestions on where to learn more of the fundamentals?
This is a great resource. As someone who's had to make custom modifications to the ArduPilot code for a few projects, it will be awesome to have some more formal detailed documentation. Look forward to updates. Thanks!
I can not put into words how grateful I am for this! Just the motivation I needed to get started!! :-)
I've started adding a few more topics to the pages, and I've also added a list of topics I plan to cover as I get time. So if you've been through the pages once then it will be worth re-visiting occasionally to get new info:
http://dev.ardupilot.com/wiki/learning-the-ardupilot-codebase/
Great resource and help!!
@Cliff-E, for the moment our strategy for inter-board comms is MAVLink, with MAVLink to ROS gateway available
The ORB is for internal comms, and provides a nice interface so dependencies don't get too tangled
Like the px4orb description. Definitely the right direction for networking data from multiple Pixhawks and remote sensors. May want to check out Orocos (maybe heavyweight, but corba compliant) since a lot of folks are trying to use ROS with APM/Pixhawk. We've used it (orocos, not ROS) with good success here in production applications.
Great stuff. What I'd really like to see though is a block diagram illustrating the flow of information through the system.