I received an email sending me to this site yesterday about the TacoCopter, which of course was spot on given my interest in all things robotic. I also had PID control on the brain thanks to my course on driving a robot car from Udacity. Bits of python code were in my head already, and I had a strong need to put it all together. Given that it was also Sunday (a workday for most teachers) I had to plan for classes tomorrow, specifically Calculus and Physics.

All of this was in the context of the beautiful afternoon I spent on the balcony of the apartment looking out at the warmest, bluest Hangzhou skies of the year so far. It put me in the mood to do something a bit different for tomorrow's Calculus class. The AP students will be reviewing related rates and implicit differentiation, but the regular students...they get to have a bit more fun.

This is the activity we will be looking at tomorrow in class: CW - TacoCopter Project

The full wiki page that students will be following is located here: http://wiki.hischina.org/groups/gealgerobophysiculus/wiki/42712/Calculus_Unit_8__The_TacoCopter.html

Some python code for simulating the TacoCopter rising to altitude, which can be found here at github.

Then Geogebra for plotting the data, which shows the lovely simulated accelerometer data with noise:

I don't really know how it will go. At least students will have an excuse to grin as they review.

Evan,

I love this assignment—this is so much more interesting than learning obscure integration techniques, and it really gets students seeing how calculus is put to use in real-world applications.

Since you're taking the Udacity course on robotic cars, does the these autonomous cars track their position based on accelerometer data alone? My understanding was that many of them augment that data with ultrasonic or laser rangefinders, etc.

Thanks, John!

They do use a range of sensors - laser scanners, cameras, GPS, and I think another short range distance sensor such as ultrasonic or IR is used for additional information about obstacles. The car use a range of techniques to identify its location and map out its path. The class has been really fantastic in how it teaches you implementation of Monte Carlo localization, Kalman filters (which I've tried to teach myself before unsuccessfully), particle filters, and mapping. The thing that has benefited me the most is having an excuse to work in Python on a regular basis - really enjoying learning how to use it. Best part is finding easy ways to bring it into my classes.

Evan,

One more thought—it seems like this might be a prime opportunity to ask students to deal with some uncertainty. Shouldn't it be possible for them to try to predict a range for the final position along with their measurement? This is something that was lacking from almost all of my math classes in high school, but this might be a perfect place to introduce the idea. You might even be able to push them to do some calculations to figure out how good the accelerometer data would need to be in order to calculate the position with a certain range.

Good idea - I think it would be a good place to talk about it, though the details I think are a bit trickier. Perhaps they fit a polynomial to the acceleration data and integrate the error function with respect to time. Or I could give them a set of acceleration data with the Gaussian noise turned off and have them compare the results of the two. You might see my question at the end about the effects of integration on noisy data. We have differentiated noisy position data and seen the effect on velocity, though we did not explicitly talk about it in Calc since it was during Physics which doesn't share all of the Calc students. That would also lead to a discussion comparing integration error vs. error coming from noise.

I also envision a possible second part to this exploration that involves working directly with the PD differential equation used to control acceleration. It could be a situation where I give them the solution and have them verify it, or have them use Wolfram Alpha to get it:

http://www.wolframalpha.com/input/?i=solve+ODE+%7By%27%27+%3D+a*y+-+b*y%27%7D

Lots to think about, plenty of options. Thanks for the suggestions, as always.