I am a high school student interested in drones and autopilots. I hope to be able to write some code and learn about the design of drones and autopilots. I would like to know how important math, and more specifically calculus, is in this field? Could someone who has experience give me some advice?

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • There definitely is complex mathematics, including calculus, involved in the pose estimation routines, such as the Kalman filter, used in the flight controller systems. Though, what you find is that there is a pretty limited set of people with the expertise to understand and modify the code in the deep, algorithmic portions of this code. Further, this code doesn't really need to be updated much over time. There is a lot of development work adjacent to this code that doesn't require as deep of a mathematical background.

    But, in general, getting better at math will be useful in any technical pursuit.
  • Thank you so much for these recommendations!
  • I'll add my 2 cents. First, if you are really really really weak in math, I'm not trying to push you into something that won't be a good situation for you academically. (That's between you and your guidance counselor and your parents and teachers I guess.) However, I think calc is a really really really good class to take in high school. Assuming you go on to college and do anything related to the sciences, you'll really appreciate that math background. You'll likely have to take calc in college too so having seen many of these concepts already once in high school will really help the learning process in college.

    I thought my high school calc class was really rinky-dink at the time, but when I hit college, I was well into the 2nd semester before we started hitting things that I had absolutely never seen before. Having seen many of these bizzare and crazy things already once (even if I hadn't fully mastered them in HS) was a huge benefit towards doing well and really learning the stuff in college.

    The other thing about a class like calc is that it will really push you to become comfortable with many basic mathematical tools and concepts ... trig, algebra, factoring equations, etc. etc. You'll be doing a lot of basic things so often they will become almost second nature ... and these sorts of mathematical tools and building blocks are exactly what you'll run into if you start programming an attitude determination filter, or an autopilot, or navigation system, or a turret controller, or a vision processing system, or a ground station, or a simulation of any of these things.

    Here's another thought. If you are trying to do something even moderately difficult in the uav world, you might be out scanning through research papers to find a better or more efficient way to do your task. Research papers are often very technical, and if they come from an engineering perspective, often chock full of mathematical notation and language to express the key concepts. Again, taking calc and subsequent follow-on math classes will make you that much more comfortable reading and writing the language of math, and will enable you to better make sense of much of the research and books that are available to the uav world.

    Quick summary.

    1. Calc in high school is excellent prep for calc in college assuming college is in your future.
    2. Calc (and all the underlying concepts that get drilled into your brain) will be very useful in your professional "toolbox" as soon as you dive into any type of student or work project.
    3. Calc helps you learn and refine your ability to speak "math" which is an important way to convey many of the underlying concepts that are leveraged in the uav related fields.

    I agree with Ryan, I don't use much if any of the more exotic concepts I learned (and promptly forgot) from my calc class. But many of the basics tools and building blocks I use over and over and over again ... I took computer science level math classes. Now that I'm doing more "engineering", I miss not having taken some of the math classes that are more geared for engineers.

    Just my 2 cents ...
  • Only pretty basic calculus (derivatives, integrals) are really important. I would say though that if you can, focus on linear algebra, it's much more useful for what we do.

    MIT has a great online courseware site.
    Look at this site: http://www.catonmat.net/blog/mit-linear-algebra-part-one/ it's the guy's review of MIT's Linear Algebra course. (class one)

    Also, if you're interested in math in general, try to find a copy of "The princeton companion to mathematics", it's probably the single most 'intense' math bible ever produced.
  • Developer
    There isn't a whole lot of advanced calc in software writing. Some of the physics principles use basic calc. The real intense math in attitude estimation uses a lot of linear algebra and trig derivatives etc. But nothing that a simple TI calc cant solve to back you up if you know the basics. The big one that gets most people with weak math skills in linear algebra (aka matrix math)

    If you know what a basic derivative and integral are you should be fine for the most part.
This reply was deleted.


sam liked Jimmy Oliver's profile
Aug 25
Mike Whitney liked Mike Whitney's profile
Jul 19