As I mentioned on Friday, from now on we're going to stop with the usual labs and work on a project for the rest of the semester. The basic project is to characterize and simulate USB-controlled foam rocket launchers.
The ultimate goal will for you to be able to calculate numerically the flight of a realistic projectile and use this result to actually hit a target with the launcher. You will have to include drag forces and everything - using measured values of launch velocities, drag coefficients, etc. The experimental end of this will be measuring launch velocities, their variability, and trying to measure drag coefficients using the sensors we have. How to get a good measure of the drag coefficient will require some time and care. By the end, we should be able to specify a target, and you will perform the calculations and then actually hit the target.
The theoretical end of this is figuring out how to calculate things numerically. Projectile motion with drag can't be done analytically, so we'll need to learn how to simulate things. To start with, we can do this in pseudocode, as I did on Friday, just learning the appropriate algorithm for calculating trajectories numerically. Once you've got your head around how the process works, we can start with actual code. For those of you that can program, you're free to use any language you want and any methods you want. What you do has to make sense, and it has to work. For those of you that can't program, I'm going to teach you just enough Python to get the job done. We'll start learning basic python coding tomorrow; see the next post.
No comments:
Post a Comment