The following is an overview of the FlightGear autopilot system. I will first touch a bit on simple control theory. Second, I will describe the specific algorithm used in FlightGear. Third, I will describe the xml config files used to create a specific autopilot configuration for a specific aircraft. Finally I will include some basic hints and tips for autopilot tuning.

The goal of this document is to first provide aircraft designers with enough information so they can build workable autopilot configurations for their aircraft. And second, to provide people with control theory experience some reasonable information about what we are doing inside our ``black box'' PID.

I should state clearly and up front that I am not a ``controls theory'' expert and have no formal training in this field. What I say here is said to the best of my knowledge. If anything here is mistaken or misleading, I'd appreciate being corrected. I would like to credit a former boss, Bob Hain, and a former coworker, Rich Kaszeta for explaining some very basic theory to me and answering my many questions. I also would like to credit Roy Oveson for providing the specific PID algorithm we currently use as well as for writing most of the hints and tips section of this document (and answering my many questions.)

Curtis L. Olson 2004-02-04