Chevron Left
Back to Robotics: Aerial Robotics

Learner Reviews & Feedback for Robotics: Aerial Robotics by University of Pennsylvania

2,695 ratings
689 reviews

About the Course

How can we create agile micro aerial vehicles that are able to operate autonomously in cluttered indoor and outdoor environments? You will gain an introduction to the mechanics of flight and the design of quadrotor flying robots and will be able to develop dynamic models, derive controllers, and synthesize planners for operating in three dimensional environments. You will be exposed to the challenges of using noisy sensors for localization and maneuvering in complex, three-dimensional environments. Finally, you will gain insights through seeing real world examples of the possible applications and challenges for the rapidly-growing drone industry. Mathematical prerequisites: Students taking this course are expected to have some familiarity with linear algebra, single variable calculus, and differential equations. Programming prerequisites: Some experience programming with MATLAB or Octave is recommended (we will use MATLAB in this course.) MATLAB will require the use of a 64-bit computer....

Top reviews

Oct 22, 2017

The course is very good.\n\nThe classes are well taught and show general concepts. It is necessary to do research on the internet, to solve the assignments. This is not a bad thing in my point of view

Jun 8, 2018

I think this is very good course of aerial robotics research. Being a student of robotics, I feel that some of stuffs in this course needs a good background in control and mechanical engineering.

Filter by:

551 - 575 of 668 Reviews for Robotics: Aerial Robotics

By Abd-El-Rahman M F

Mar 14, 2016

it's need more explanation and specific resources

By Muhammad A

Aug 7, 2020

More linear Algebra and Matlab tutorials needed

By Ankit S

Jun 15, 2020

It was awesome. But somewhere it was confusing.

By Amrtanshu R

Oct 4, 2017

Assigments to be a bit more clear explained

By Barak R

Feb 16, 2020

second assignment is not well explained.

By Anushka A

Oct 10, 2019

Very thorough, neat and well explained.

By Vishnu T

Jul 31, 2019

Very Challenging but taught me a lot

By Vishal G

Jun 14, 2019

This Is the best course on coursera.

By Eric S

Sep 30, 2016

Final Assignment was very unclear


Jun 1, 2017


By Carlos M

Aug 7, 2016

Recién empecé. Pinta bien!

By balagopal p k

Mar 10, 2016

Mind Blowing course...!!!

By primejack

Oct 24, 2020

A bit hard for beginners

By Rajat S

Dec 20, 2019

it was really worth it.

By Muhammed A E f a

Feb 18, 2017

it is so awesome course

By Ketha J S

Apr 21, 2019

Excellent Course.

By Fabio B

Jun 26, 2017

Very good course!

By Yug A

Jul 6, 2019

Awesome course !

By Joel N

Jan 24, 2016

Excelente curso

By Ahmed m a a f

Mar 3, 2019

thank you

By Mauro S Q C

Mar 15, 2016

Very good

By Naveen K

Dec 22, 2017


By Francesco V

Mar 7, 2016

the course and the lessons are really interesting and the professor is explaining really well. Especially nice are all the videos demonstrating what have been done so far.

Problem are the assignments:

-all the assignments are about controlling a quadrotor, but a matlab code 95% done is already provided and most of the times the only thing requested is to spend days in find (randomly) the correct values for the controller gains;

-the last assignment is again partly about (randomly) looking for gain values and partly about generating a trajectory as a piecewise 7th order polynomial, where the method for creating such thing is only mentioned in the assignment pdf and with wrong conditions. Even with the correct conditions, with a previous knowledge of numerical methods you can go through it, but otherwise it takes quite some time;

-the grade is not set properly.. you either take 0points or the maximum, meaning that for just passing the assignment you have the same difficulty as getting full marks.. if you arrive (after days of trial and error) to the point of passing the assignment, then you can easily get full grade with small changes.. which makes no sense;

-the explanatory pdf for the assignments or the provided codes some times contain errors, and I don't understand why they are not fixed considering that this course is already the second time that was provided;

-the assignments are fully based on matlab and to actually understand something it is required quite a deep knowledge of how to use it.. I work daily with matlab and had some difficulties in following what it is done. If somebody is new to matlab, it will be quite difficult to do even the easier tasks;

-the evaluation function for the last assignment is extremely slow.. it took me 40minutes to evaluate the results.. and considering the many iterations usually required for (randomly) finding the gains this really doesn't help.

Summarising I am quite happy about this course and glad to have done it, but please fix the many problems in the assignments. I have taken many courses online in different platforms and this was so far the most time consuming one..

By Sj

Feb 15, 2016

Overall good course that would definitely make you spend more time reading and learning on the side. Would recommend it those who have good background in college level math like Linear Algebra and a little bit of Robotics Background from a Math perspective - like working with translations, rotations, transformation matrices of that sort to make the transition easier. (There are basic robotic courses online to help with that, like Peter Corke's course). But overall this course requires some significant effort to explore the material from an external perspective.

Some issues however -

1. Lack of added resources like reading material to support the course and help advanced students go beyond the course themselves.

2. Severe lack of activity from TA(s) on the forums. It's good that students get to interact among themselves and learn on their own, but every single post should be either answered by a TA to clarify doubts or they should acknowledge that another student's explanation was good enough to answer a particular question.

3. The in-video quizzes weren't up-to-the-mark as per me. One question asked "why" and the answer was literally "because that's how that algorithm is".

4. This is a trend in MOOCs and I don't think it can be helped, but perhaps more assignments that help understand the concepts better with examples would help students go beyond. If this course had such optional assignments that would be great for understanding the concepts with a more hands-on approach. But this is probably not the best platform to do so.

Overall would recommend future iterations of this course, especially if the first two points above are improved upon.

By Manoj R

May 7, 2018

Good intro to the subject with clear instruction and responsive support by teaching staff.

Could use many more examples and/or solved problem to help independent learning.

Some notation is confusing, esp. in the later part of the course. Also, the subtle distinctions between a reference trajectory and a "desired" trajectory (in the context of the inner loop for attitude control) are not very clear. There is some art to this which is key to solving the programming assignments that the course could dwell on a lot more.

Pinned conversations in the forums are a big help in tackling the programming assignments.

Overall, the matlab sandboxes, and simulations in the programming assignments, do go a long way in helping us learn about the practical aspects of implementing controllers.

The course could benefit from a top-down (as opposed to bottom-up) overview. For example, it could be stated, early in the controls part *and in context*, that trajectory planning (which will be dealt with later), would yield a reference trajectory for which a controller is being implemented. Instead, it is simply supposed that there is a reference trajectory already available that the controller can try to track. This is just an example.

Some matlab tips on how to add more graphs would help. For example, simulations plot (x,y,z) and velocities but hints on how to visualize rotation angles would also help. The data structures used convert between 2 different "state" structures, one of which does not store angles (presumably because they are not externally specified) but this is what is available at the entry/exit into the code.