in My College Experiment

If you just clicked onto my blog and have no idea what my college experiment is, please click here.

Post #2 of my college experiment deals with two major topics….

Part 1 (Hands On): UAV specifications and expectations

This week, I’m laying the foundation of what I want from my autonomous airplane. Without solid expectations for this project, it could head towards many different outcomes. I don’t want that to happen. There are bunches of factors to consider such as size, weight, functionality, and price, and each factor plays a fairly role in the desired end result.  After spending many hours planning exactly what I want, the project can finally move forward.

Desired Goals

  • Keep it legal! (Correct frequencies,  flight practices, etc)
  • Record video and photos of the flight for now; possibly thermal images or LIDAR data down the road
  • Be able to operate with either a RC transmitter or a computer
  • Autonomously fly GPS grids or waypoints that can be reprogrammed in real time
  • Multiple flight modes (Stabilize, auto landing, auto take-0ff)
  • Stay in the air as long as possible (power-to-weight ratio, aerodynamics of the uav); desire at least 30 minutes from the start
  • Minimal programming, maximum functionality (My ultimate goal with this project is not necessarily to learn to program)
  • Keep entire project to $1000 (I already own a lot of equipment)

 Airframe Specifications

  • Construction: EPO blow-molded foam
  • Wingspan: 1600 mm
  • Length: 1044 mm
  • Gross weight: TBD
  • Drive: Electric
  • Power: LiPo batteries

 Onboard Electronics (click on item for link)

Electronics on the Ground

  • Wireless Serial Data Transfer: PC running DIY Drones Mission Planner and Google Earth
  • RC Transmitter: Spektrum DX8 (already owned)
  • Wireless Video: 5.8 Ghz receiver


With the initial research out of the way, the next step is to start buying the necessary equipment. I started purchasing some of it, and the rest will be purchased a.s.a.p. Hopefully by next week most of the gear will be here, and we can start getting into the good stuff!


Part 2 (Theory from Coursera): Basic Control Theory, The Need for Models, PID Regulators

The first week of the Coursera class Control of Mobile Robots dealt with a variety of introductory topics. I learned a bunch of new information, and realized that basic algebra and calculus can be utilized to perform an enormous amount of robotic actions. Even in the first “class”, a totally new world has opened up to me. It will be extremely exciting to chase it down, and at the very least it is a great brain exercise. The following is a chronological outline of what week #1 covers and what I learned from it. Basically, the following is my course notes.


Video #1: Control of Mobile Robots

  • Control Theory: “A general framework for making dynamic systems do awesome things.”
  • Swarm Robotics: “How do you make large collections of mobile robots do useful things with limited information?”
  • Behavior-based Control: “Since most robotic tasks are rather complex, there is no single controller that can solve the problem….must break the controller structure down into multiple controllers.”
  • Field Robotics: “How do you take general computational algorithms that you develop in the lab and put them on robots out in the field that have to survive robustly in real conditions?”
  • What’s in the course?
    • Control Theory
    • Robot Models
    • Mobility Controllers
    • Applications
  • What’s not in this course?
    • AI
    • Perception
    • Mechanical Engineering

Video #2: What’s Control Theory, Anyway?

  • System: Something that changes over time
  • Control: Influences the change on the system
  • How is it useful?
    • Robots
    • Epidemics
    • Stock Markets
    • Thermostats
    • Circuits
    • Engines
    • Power grids
    • Autopilots
  • State: Representation of what the system is currently doing; represented with x
  • Dynamics: Description of how the state changes, as a function of time
  • Reference: What we want the system to do; represented with r
  • Output: Measurement of (some aspects of the) system; represented with y
  • Input: Control system; represented with u
  • Feedback: Mapping from outputs to inputs; “the key to doing any kind of controls in an effective way”

The following is a screenshot straight from the Coursera course of a simple control loop- it is not mine and I don’t claim any rights to it. 

Video #3: On the Need for Models

  • Control Theory: Answers the question of how to pick the input signal u
  • Objectives of a Model:
    • #1: Stability– system doesn’t destruct itself (drive into a wall, not blow up)
    • #2: Tracking– follow a road, path, predetermined GPS coordinates, etc
    • #3: Robustness– make controllers somewhat immune to situational variations
    • #4: Disturbance rejection– wind gusts, friction changing under tires, loose surfaces, etc
    • #5: Optimality– doing something the best possible way; efficient achievement of objectives
  • Effective control strategies rely on predictive models

Video #4: Cruise Controllers

  • Make a car drive at a desired reference speed (r)
  • Newton’s Second Law: F = ma    (a = dv/dt, which is the time derivative of the velocity function)
  • State: velocity (x)
  • Input: gas/ brake (u)F = cu     (where c is the electro-mechanical transmission coefficient)
  • Therefore:  dx/dt = a;   m(dx/dt) = cu;   dx/dt = (c/m)u
  • Control Design: 

    • Assume that velocity is measured (y = x)
    • Control signal should be a function of r – y (=e), where r is the desired velocity and y is the actual velocity;  e is the error
  • Control Signal Properties
    • Small e gives small u; the controller should not overreact to small amounts of error
    • u should not be “jerky”; smooth response to error
    • u should not depend on us knowing and m exactly; add luggage to a car or airplane and the mass changes


Video #5: Control Design Basics

  • Bang-Bang Control
    • Happens when controller overreacts and switches from u_max to u_min, depending on e
    • It’s bad: burns out actuators, extremely bumpy ride
  • P-Regulators
    • u = ke
    • Small error yields small control signals
    • Smooth and stable
    • Proportional regulation (P-regulator)
    • Problem: did not hit the target value- reference velocity never gets up to the target velocity

Video #6: Performance Objectives

  • A controller should:
    • Achieve stability
    • Tracking
    • Robustness
  • PI Regulator
    • Proportional Regulator plus the integral of the error
    • Add the integral from the beginning to time t
  • PID Regulator
    • Add the time derivative of the error function to a PI regulator
    • Most accurate controller of the three
    • Extremely important regulator

The following photo is a screenshot of a PID regulator straight from the Coursera course. Again, I don’t claim any rights to it.

 Video #6 PID Control

  • Proportional regulator (kP)
    • contributes to stability, medium-rate responsiveness
  • Integral (kI)
    • tracking and disturbance rejection
    • slow-rate responsiveness
    • may cause oscillations
  • Derivative (kD)
    • Fast-rate responsiveness
    • sensitive to noise
  • PID regulator
    • most used low-level controller
  • “Feedback has a remarkable ability to fight uncertainty in model parameters.”


All in all, I learned a ton- even in the first week and a half of the “course”.

To be totally honest, it took a lot longer than expected to make a solid plan for the project. Now that it’s over, however, the project can move forward at a quicker pace! The electronics are all in the mail, the order for all the plane parts will be placed tomorrow, and there’s another week of the Coursera course to attack. I know this week was pretty dull to read, but hopefully it informs or inspires someone else!



If you want me to shoot you an email when I write a new post on my college experiment, please sign up!