[IEEE CSS Video Clip Contest 2015 Submission]
This is a video introduction to controlling self-driving cars, specifically using PID-control. Special emphasis is placed on how the proportional, integral, and derivative gains affect the performance of the vehicle.


https://www.youtube.com/audiolibrary/... - Solar Flares

Video References:

DARPA Urban Challenge MIT footage
Google Earth
Dog Driving Car https://youtu.be/gRN_L3nTlLQ
Car in Parking Lot https://youtu.be/gx7s3Hn9oVw?t=16
Truck https://youtu.be/2U5i4-HQUY8

Script & Narration: Luke Johnson
Hardware & Control: Brett Lopez
Visualization: Shih-Yuan Liu
Editing & Overlays: Justin Miller

Lab footage courtesy of:
Aerospace Controls Laboratory @MIT
Jonathan P. How, Director

Thanks MIT Team!


Alexandre Mainardi

Views: 2303

Comment by naish on July 27, 2015 at 9:43pm

Really great explanation.. I think this video should be added to the Wiki.

Comment by Hein du Plessis on July 27, 2015 at 10:40pm
Indeed brilliant explanation!
Comment by Shawn Thorvilson on July 28, 2015 at 7:45am
This definitely should go on the Wiki. I can see the correlation between steering angles of the car and the angles of a multirotor. Great explanation.
Comment by Nikola Rabchevsky on July 28, 2015 at 7:45am

Stuff like this annoys me. They tell you what the problem is (tuning the controller) which is pretty obvious to the non-expert but make no attempt to explain how to go about solving it.  The appropriate phrase is "Left as an exercise to the reader."  I had the same feeling sitting through SIGGraph paper presentations or even courses in the early 1990s where the speaker says, "This is where you use your 4th-order Adaptive Runge-Kutta solver to solve the physics equations," or, "We implemented the Navier-Stokes Equations for fluid dynamics..."  Sure you did.  Show us the source code.  I have the same feeling towards most online references about how Extended Kalman Filters work.  All that fancy math notation tough to translate into C code.
But on the subject of tuning PID controllers, I found that Google is less of a friend that you'd like.  There are all sorts of references for tuning non-mechanical systems but not very many for mechanical ones and even some of those make certain assumptions that break on a real system.

Comment by Phillip Schmidt on July 28, 2015 at 8:55am

  It is an good visualization for those who are trying to better visualize how PID gains effect the control of a body.

 As Nikola noted, this really doesn't help in determining a "best" tuning outcome (which may be highly subjective to the application).  Most guides like this fall under a category I would term as fuzzy tuning.  If more/less of this behavior is desirable/undesirable, increase/decrease this parameter.  For most drone applications, critically damped give the best control response (minimum rms error).  For a passenger vehicle, critically damped may result in a ride that occupants find uncomfortably harsh (desired path planning my come into play here).

  Also of note is that when tuning rate parameters, this visualization is less intuitively relevant compared to attitude parameters, which is an almost perfect match for this example.

Comment by Mike Klinker on July 28, 2015 at 9:01am

The goal of the video was give an introduction to PID control with a practical example that interested students could relate to: driving a car. With a four minute video, you do not have time to explain how to tune the controller-- that is control theory, and there are other great resources where you can read about this. Maybe our next video will be about tuning PID gains. 

Comment by Gary McCray on July 28, 2015 at 9:49am

Hi Alexandre and Mike,

Great video!

PIDs are poorly understood by the vast majority of people, (even those of us who have to deal with them.

Your video definitely describes the essential elements in the most understandable and straight forward way I have ever seen.

I will be linking to your video in the Navigation section of my DronesAreFun website.

Best Regards,


Comment by Jordan Campbell on July 28, 2015 at 4:46pm

Quality video! It wasn't until I showed my boss this video that I realised he had no understanding of how PIDs work

Comment by Nikola Rabchevsky on July 29, 2015 at 8:11am

Thanks for the followup, Mike, but IMHO simulated PID tuning lulls you into a false sense of security.  Real devices have a lot of noise and error sources that simulations don't take into account.

My frustration is that some of these concepts we deal with are really difficult to wrap your brain around and the online references require such a deep background knowledge.  Or the technical papers gloss over implementation details because they are written by academics.  (And then a miracle occurs.  I think you need to be clearer in step 2).

Here's an example of "Damn, I wish there was more to this."

This was the beginning of a really great talk on EKF.  Unfortunately, the audience wouldn't shut the hell up long enough for the speaker to get into the implementation details.

Comment by Ravi on July 29, 2015 at 7:10pm

i was about to type that this should be added to wiki. it is difficult to understand PID terms without graphics.  but already I see the first comment is the one I was about to add. I think my fundamentals of PID are now quite clear. great work alexander!


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service