Monday, March 8, 2010

The Toyota Saga - What a Cook Think of the Flaw

All people eat, and many (if not most) people drive. Out of those who drive, many are driving Toyota, or have driven a Toyota with cruise mode on. It is interesting that Toyota and the US government is taking a hard time finding the root-cause of the flaw in Toyota cars causing sudden acceleration when cruise mode is on. On the other hand, it doesn’t take a rocket scientist to figure out the root-cause, as anyone who can cooked, like me, can pinpoint the root-cause to a failure in the PID controller algorithm of the car.

Let's get to some basic from Wikipedia, http://en.wikipedia.org/wiki/PID_controller, a control algorithm with feedback usually have 3 components; the proportional, the integral, and the derivative. Adjusting the integral component will potentially decrease the steady-state error, but has a side-effect of increasing overshoot, or lead to instability.

Let's forget what Wikipedia said, assuming that we are at 50km/h, going to set to 110km/h cruise mode with Kp = 0.2, Ki = 0.2 and Kd = 0.2, this is how our acceleration looks like:


Not bad huh, so it takes about 25 seconds to match 110km/h cruise mode. But as Toyota is always emphasizing on performance, let's see whether they can do it better, so they adjust the integral component to Ki = 0.5, and get this:

And in 8 seconds, it has achieved the cruising at 110km/h. Now it's getting fun, let's do that for Ki = 0.9?

Now, the fun part begin, in 2 seconds, it's cruising at 110km/h, and as a bonus to the user, it is going to 156km/h or 97 miles/h in 38 seconds and continue to dance happily.

Based on the description of Steve Wozniak in the news, http://www.bloomberg.com/apps/news?pid=20601109&sid=a5Ow0uquBidc, the car suddenly accelerated when cruise mode is turned on. Sorry to Steve, I salute you for founding the great fruit company, but this is not software bug, it is strictly speaking a control algorithm design issue, and I don't think restarting your car is a good workaround for this issue. Unfortunately, I don't have the fortune of Steve to buy 4 Priuses, and not even 1 Prius to perform future analysis on this. Though Steve is still happily using his Prius, sure I don't want to have a dancing car to buy my ingredients for my next recipe.

Sorry to Toyoda-san on this crisis, you really have to go back to basic control to check your algorithm well before you deploy your next baby. And as you see, it doesn't take a rocket scientist, any cook can help you with that. :)

No comments:

Related Posts Widget for Blogs by LinkWithin