We have moved! Please visit us at ANTHROECOLOGY.ORG. This website is for archival purposes only.

Oct 16 2010

ArduPilot Flight Modes

Over the past two weeks I’ve been trying to determine what the ArduPilot system is actually capable of. In order to insure the success of this autonomous UAV project, it’s critical that we find a Autopilot system which can support all of the features mentioned in the Autonomous EasyStar post. For more information concerning the ArduPilot system visit the ArduPilot online manual. provided by DIY Drones.

Although the ArduPilot will primarily be used for its autonomous flight capabilities, it also supports a  variety of other flight modes which are described below. Only three of the following modes can be programmed to the AdruPilot at a time and a three way toggle switch on the transmitter is used to activate one of these three modes.

Manual Mode: Yup, its exactly what it sounds like. This mode enables the user to operate the plane manually without any help form the ArduPilot. This mode would mostly be used for takeoffs, landings and positioning the plane at its starting location.

Stabilize: Similar to manual mode, only the ArduPilot will process its kinematics to help the user fly the plane. If the user find him/herself in trouble then all that he/she must do is release the control sticks while the plane levels itself into stable flight. For this mode the airspeed must still be controlled manually.

Fly By Wire A: This is a slightly more autonomous version of “Stabilize” mode in which the airspeed, stability and altitude are controlled by the ArduPilot, all the user has to do is point the control sticks in the direction they want the plane to go and it’ll figure out a way to get there. The altitude will remain at the height the plane is when this mode is activated. In order for this mode to work properly the user must designate a value for maximum pitch, yaw and roll angle in the open source code.

Fly By Wire B: This mode is similar to Fly By Wire A, only the airspeed is controlled manually while the altitude and stability are controlled by the ArduPilot. Again, the altitude is held at the height this mode is activated.

Auto: Fully autonomous GPS waypoint navigation. AdruPilot takes complete control but the user can still “nudge” the plane to help it maintain its course if needed. 3D GPS waypoints are uploaded via the waypoint editor prior to the flight. This mode would most likely be used as the primary mode when performing image acquisition flights. 

RTL: The airplane will return to its launch position and circle above until manual control is re-established. Like the Auto mode, the airplane can still be “nudged” manually. The return to home circling radius can be preset in the main code file.

Loiter: The plane will circle around the position at which this flight mode is initiated. You can also “nudge” the airplane in this mode as well. This feature would be used to distract the plane while groundwork is being done, serving as a “second set of hands” when scanning an area by yourself. If this mode is activated near the ground station then new waypoints could be uploaded wirelessly using the optional Xbees. The radius of the holding pattern can be adjusted in the open source code.

When flying with Xbees a laptop can be used to run LabView, a ground station software which displays the plane’s altitude, airspeed, roll angle, bearing, navigation data and battery voltage. In addition, LabView will log the flight information in both a data log file and kml log file. The data log file stores navigation and altitude information while the kml file contains flight path and waypoint information that can later be viewed in Google Earth. The flight path can also be viewed in real time via Google Earth. 

Within the next two weeks the parts list for this project will be finalized and the respective components ordered. The majority of the work for this project will be done over the winter, when image scans are not our teams first priority. Until then, the Ecosynth Team will continue to be preoccupied with maintaining the hexakopters, performing image captures and analyzing the resulting data and point cloud structures.