OughtToPilot

Inspiration Author: 
Jason Edelberg
  • The OughtToPilot project.
  • Jason Edelbery with his OughtToPilot project.

Please note that Parallax does not design UAV's and makes no such warranty of compliance by posting an application online. Customers are liable for their own applications and are responsible to self-educate. Anyone who sends a UAV into the air is responsible for reviewing applicable state, county and federal laws independently. Model aircraft need to be operated within line of sight and under the direct control of the operator according to current FAA regulations. UAV's and other airborne projects such as balloons introduce a variety of risks that should be understood by those involved. These devices may become hazards to aircrafts or power lines, etc.

A Propeller-based attitude estimation device embeddable into low cost remote control (RC) airplanes for hobby-grade UAV application is presented. The system senses and controls the aircraft’s attitude (pitch and roll) to maintain level flight and guides the aircraft toward a pre-loaded GPS waypoint.  An onboard Propeller-controlled digital camera images the flight in still frame or video mode.  Flight data is continuously logged to a Secure Digital (SD) memory card.

The OughtToPilot employs a non-linear fuzzy-logic algorithm to blend two different types of inertial sensors (accelerometers and gyros) in a computationally efficient manner.   This model-free blending and estimation method was chosen over Kalman filtering to reduce the design-side system modeling effort and the real-time computational burden.  All computations are conducted upon integer-based pseudo float numbers with most values corresponding to a fractional number with three digits after the decimal point, multiplied by a thousand. (For example, the value 2008 in a variable named pitch_angle would correspond to an angle of 2.008 degrees.)  It is believed that the inaccuracies of the low end (but cost effective) sensors far overshadow the inaccuracies introduced by the pseudo float computations.

The physical system (not including the airplane) is composed of the computer-board, a SD card reader, a GPS module, and a small digital camera.    The computer board primarily houses the Propeller chip, its associated components (EEPROM, power conditioning, etc), connection ports, an analog to digital converter, and the inertial sensor.  The SD cards stores the flight data which is continuously collected (regardless of mode).   The recorded values are stored in a binary format so that they can be logged at a high data rate.  The default parameters to be recorded are the raw sensor readings (gyros, accelerometers, and barometric pressure sensor), GPS readings, and internally computed values of interest to the programmer.   The digital camera is a small and inexpensive 1.0 megapixel digital camera that has been modified to interface directly with the Propeller chip.

Concept of Operation

The OughtToPilot is pre-programmed with the flight plan (waypoint) before takeoff.  Once airborne (take off and landings are conducted manually), the mode control switch is toggled from manual to automatic mode.  At this point the system assumes control over the throttle (motor speed) and control surfaces (elevator and rudder for this test platform) and enters Automatic mode, where it regulates itself to fly straight and level.  Pre-programmed turns can be ordered by pushing the transmitter control stick fully left or fully right for at least 1/10 of a second.  Once ordered, the OughtToPilot executes a 3 second turn routine.  If the operator moves the stick fully up or fully down for  1/10 of a second, the system switches over to Navigation mode where the system guides the plane toward the waypoint .  (Further refinement of turns – steep vs. gentle - need to be implemented for more reliable navigation performance.  Currently the system will reach the desired waypoint in about one out of five tries.)   Attitude control and navigation continue to operate until the mode switch is toggled back to manual mode.  Once the plane has landed and has been recovered, the SD data cards are pulled from the camera and SD card reader for download and analysis. This simple but straightforward concept of operations allows for reasonable functionality, while keeping the system simple enough to use the stock transmitter and receiver.

This project is made possible only by the Propeller chip – with so many control, estimation, and communication loops running all at once (each at different frequency) the only feasible approach is that of a multi-core parallel architecture.  The power of the Propeller chip allows this project to fit in the size, weight, power, and cost requirements of a small introductory level RC airplane.
 

Sensor monitoring and control systems have been nicely distributed among the Propeller's processors.