This year the Coast Guard Academy's mechanical engineering department build a course around BlimpDuino, both to teach the students about aerial robotics and to help us beta test the blimp. The course was designed to help develop an aerial robotics contest and the students built several of the blimps, programmed them and are experimenting with different contest ideas. The course is led by Captain Vince Wilczynski, who is active in the FIRST robotics competition.
This is awesome stuff--I wish I could have taken a class like this when I was in college!
They've got the course wiki open here. Here are two particularly interesting/useful documents:
The controls class just started, and here's their assignment:
MCDS- Fall 2008 – Project Part 1 –Modeling
Given: The BlimpDuino prototype is a small UAV designed for college robotics competitions. It employs PID altitude control using a microcontroller, ultrasonic sensor, and a thrust vectoring system consisting of two small DC motors with propellers and a servomotor. A 7 VDC battery supplies power to all components.
Find: Develop a mathematical model for the altitude. Our model will differ from the physical system based on our assumptions. The actual system is nonlinear (as is life!), however we will attempt to approximate it as linear.
To successfully model the system, and verify that model, we must apply concepts covered in MCDS and EMFTS. You will need to make several assumptions and decisions, so clearly describe your work using homework format. You may collaborate but all documents, including codes and plots, must be your own. In parts 2 and 3 you will apply P and PID control algorithms to this system. In part 4 we will alter the system gains to observe the system behavior.
a) Sketch the system to show how components interact. List parameters and assumptions regarding size, weight, etc. I will walk through this with you when we introduce the project, so ask questions.
b) Make a general block diagram of the system. Your diagram will identify key transfer functions, some which may not be defined yet. Your diagram will include A/D converters to account for the microcontroller. Let the ordered altitude be yr(t) and the actual altitude y(t). Include a disturbance representing the velocity of an air current directed in the direction of gravity, wd(t). A transfer function should be included to develop the force fd(t) resulting from the wind.
c) Include a paragraph or two describing how the system components work together during operation.
d) Develop the transfer function describing the sensor. This is a math model describing how the sensor “converts” the altitude, y(t), to a voltage, vA(t). Use the sensor background information. If this is not sufficient conduct experiments to develop a plot of y(t) vs vA(t). Use this plot to develop a gain. The current prototype sensor sends a PWM signal instead of a proportional voltage, however we will assume it operates in the latter mode to simplify our model.
e) Develop the transfer function describing the conversion of sensor voltage to altitude. This is the algorithm used by the microcontroller to determine Y so it can be subtracted from Yr to get the error.
f) Develop the transfer function describing the actuator. This is a math model describing how the actuator converts the command voltage Vm to a thrust force FT. Depending on your assumptions this will result in a simple gain or a transfer function of higher order. The actual prototype controls altitude by altering the position of the thrusters, not the magnitude of the thrust. This is a subtle, yet important, difference which makes the system nonlinear. Therefore we will assume the motors are stationary and can operate in forward or reverse. Here are two ways to approach this model. You should address both, choosing the results of one method as your preferred model:
1. Test the device. Conduct experiments and develop a plot of vm vs FT. Linearize your plot to develop a gain relating the parameters.
2. Determine analytically. Use what you know about Physics to develop a relationship relating the input voltage to the propeller thrust.
g) Develop the transfer function describing the blimp dynamics (your “plant”). This is a math model describing how the blimp reacts to the input forces, fT and fd , to achieve some altitude. Consider drag and friction, weight, buoyancy, and “added mass”. Drag and friction are difficult to determine, and will result in a nonlinear model, so we will need to linearize it. Here are two ways to approach drag. You should address both, choosing the results of one method as your preferred model:
1. Test the device. Conduct experiments and develop a plot of drag vs. velocity. Linearize your plot to develop a gain which will relate the parameters. You can also find the total mass this way.
2. Determine analytically. Use Physics to develop a relationship relating the drag to the velocity. Remember you will need to linearize this for your model. Ref  below may be useful here.
h) Redraw your block diagram with your chosen transfer functions included.